I agree, shared hosting has it's drawbacks that most customers don't realize. This is a big one for some people in that a site can be temporarily popular and not leave any room for the rest of the customers.
Moving other customers from one server to another is usually not acceptable, and unless it's dedicated hosting, they are still prone to the same problem.
I have a Brazil web site hosted on a busy server with 100+ customers. The Brazil site is pretty popular too, but normal monthly bandwidth is only around 16 Gig.
The plane crash in Brazil last month or so ago shot his web hits up and maxed out the simulataneous users limit on the server for over 4 days.
The other day, I saw the same sit explode again, and did some searching. Yahoo.com home page had a story about a 27 story Chrsitmas tree in Rio De Janero. Bam, that server overload fortunately only lasted about 6 hours. The following day also had another residual for a few hours again, but not half as bad as the original.
The bottom line is, it's shared hosting, and if your site wants the whole box, as a service provider, I need to be able to limit it so I can sell it. Otherwise, there's only one solution and thats to shut the site down until the draw goes away. Unfortunately, the customer probably goes with it.
I was hoping cPanel's custom bandwidth mod for Apache had some kind of control in it that allowed for this type of per site limit for available apache server slots. I dont' even know if it's possible. I believe at some time Apache did have this control because I did find a lot of sites explaining how you could put MaxClients directive in the .htacces files. Apache's documentation no longer reflects that, and I also tried it and it didn't work.
That type of control would be awesome, and I believe every single cPanel customer would use it.