Yes and yes, we're using a CDN. Neither of those change that EC2 instances are slow and have unreliable performance, and the network is abstracted to the point where you can't effectively control packet flow.
EC2 will not become faster. However, at least, for web traffic, CPU and IO are not the only factors.
Network is, in fact, a major player in the latency, and by being globally distributed, configuring Route53 appropriately, and integrating CloudFront CDN, a given web-app gets a boost that I doubt a faster computer can beat.
We experimented with EC2 in the early stages to use as a possible load failover, and no matter what we did, we could never get better than 150ms ping times even between internal zones.
The EC2 network also has mysterious packet filtering on it that prevented IPSec tunnels from working correctly.
I've managed to leverage CDN and globally distributed servers for a fraction of the cost of Amazon services just fine, and I have the added benefit of 100% full control of all aspects of it, including the network.
A good analogy is that EC2 is like an interpreted language versus compiled - you can get a lot done and it's easier to get started, but if you're really serious about performance, you need to program in C.