you can also use things like Packeteer, that'll allow you to allocate a certain amount of bandwidth for all P2P and fileshare program traffic.
http://www.packeteer.com/
I wouldn't really tolerate P2P programs wasting bandwidth in a business environment. At school, you should have no place to install any programs and I would disable P2P traffic. For places like residence or dorms, I have seen many different solutions for it.
-Block all P2P traffic, and most other stuff too, incl. MSN and ICQ.. don't let you do anything but surf. (then this place let ICQ and MSN through)
-Reserve certain bandwidth for administrative use, and let everyone go nuts on bandwidth through the night (restict through the day)
-Packeteer all P2P traffic to a certain amount, over all users, anytime.
-Limit bandwidth per user per month, pay for more
-Limit bandwidth every few days (5Gigs/week)
-Limit throughput (not many places do this -- can't say "high speed internet access")