What I've used: Amazon EC2, Mosso.com (now Rackspace Cloud), GoGrid.com (ServePath), Google AppEngine.
Most complicated, yet powerful is EC2, of course, but you have to be a real Pro and know what you're doing to use it.
GoGrid is a bit different and easier to manage than EC2, few nice bonuses like free incoming traffic and load-balancing.
Mosso\RackCloud is just great, average user will adapt to it easily. Not as flexible as EC2, but it's storage is persistent, images\instances size can be changed flawlessly and backed up on schedule automatically.
AppEngine is from Google, but it's not a standard cloud(like a set of VPSes), it's a Platform. The biggest minus is lots of limits of this platform and you'll need to rethink and modify your existing apps to fit appengine. Pluses - it has "pack" of resources that you can consume for free, also Google gives you already scaled platform, you don't have to invent your own cluster structure.
Eventually, if you know what you need and what you can and can't, you'll find solution that suites you, there is a lot of others also

But there is no "THE BEST" for now I think...
p.s. all those clouds are very expensive for bandwidth-intensive apps\sites
