I think Dropbox is considered SaaS (and doesn't precisely fit your definition of "web application"). I would put S3 into PaaS as it boils down to a storage platform.
Right now I agree with saying IaaS is just a VM service, but I'd hesitate because there may be future changes that invalidate that connection.
Keep in mind these terms are provider-centric not customer-centric. For example, Amazon provides their networking and computer infrastructure as a service to you the customer. You realize this service as VMs. Similarly, GAE provides a platform for you to use, and you realize this as a place to run your cloud application. And to finish the triad off, SaaS provides customers with software and they realize it as an application. So it somewhat depends on if you are looking at these things from a customer perspective or a provider perspective.
For instance in the context of a service like gmail, why we should talk about "cloud" or say "SaaS" when it is as simple as a "web application"?
PaaS IMHO it's better translated as "cloud applications platform", or "cloud application service".
Finally I don't think IaaS is acceptable as it covers too much things, especially two things that I would simply call:
* Virtual Machine Service (EC2, Linode, ...)
* Cloud Storage Service (S3, Dropbox, ...)
Edit: yes... I used three times Cloud in the end, so at least for me the problem is that "Cloud" alone means very little.