Search the Echo Lounge for good PHP hosts, there is already a huge thread on this.
And might I ask why you need cPanel? Plesk, cPanel, Custom panel, DirectAdmin, Webmin... it shouldn't matter what control panel you use, they all do the same stuff. If you have no good reason to use it (and by good reason, I mean more than Fantastico and transferring sites), then you might look to any host.
I've used VPS, Dedicated and shared. For Dedicated (unmanaged) I'd suggest LayeredTech as a good provider (while not the only provider). For VPS, just choose one. I've used JaguarPC for a few months before I got a dedicated server. For shared hosting I've used Host Rocket, Host Gator, and Servage. I personally lean more towards Servage as a host, but that's personal preference.