I've used Azure, AWS, and Rackspace (VM hosting, Sites, Cloudfiles).... but all on different projects, so not really a good comparison. I will say Rackspace's customer service is by far the best. They even sent me a package as a 'Sorry' when it took them longer than normal to respond to a message (package contained a leather bag with embossed rackspace logo, a bluetooth speaker, a leather notebook with embossed logo, some pens, a shirt, a water bottle, and a few other things). But as for everything else, it was 3-4 years ago so I'm not sure if my experience is even relevant anymore. VM hosting worked well. CDN worked well. Azure was nice and simple. Autoscaling worker roles worked most the time and the uptime on our stuff never had any issues. And I have the luxury of working with a guy that worked on both Azure AD and Azure table storage at Microsoft, so we have thoroughly abused the table storage system. VM hosting worked well, though felt expensive. Table storage was dirt cheap (which was why we abused the hell out of it to store several TB of CSV data). Wouldn't recommend using Azure Web Sites for anything complex, as we ran into a bunch of issues (though again this was a few years back, so may not be relevant). On AWS we used Lambda (to mock up some APIs and serve a static Angular front end out of an S3 bucket), DynamoDB, and EC2 (for stream processing) for a quick PoC, which seemed to work really well. But again, I work with several ex-Amazon employees who actually worked on ECS, Lambda, Dynamo, and Route53. Our current project right now is 100% container based microservices on ECS, which we haven't really had any issues once we got the ELBs and CLBs configured (persistent TCP connections can be a b*tch). Auto scaling wasn't working for us, but that was due more to the nature of our services rather than an issue with AWS.
Senior Software Engineer / Automotive Hacker