@simonduckwardley often repeats that the primary constraint of delivering compute as a service (cloud) is your ability to build your data centres (physical components of the service). This process is cash intensive and rather slow.
I think it should be possible to track AWS announcements and say precisely how many of those centres were build and when, and I expect the number to be growing exponentially. The fact that Amazon is still earning money from cloud means that margins are ridiculous, and prices are being used to limit the demand, and are not based on real costs of delivering the service.
So, that means that given specific scale and conditions, you might be better using your private cloud, but you have to consider future price cuts of your competitors. Without that, you are very likely to overpay (which may or may not be a big issue to you).