Amazon S3 + Cloudfront with WordPress

There is no remotely easy way to accomplish this with “push” strategy, because (unlike attachments) plugins and themes do not really declare their resources to WordPress.

To push those resources you need to enumerate them and keep that information up to date. In pull configurations this happens automagically in actual use. For push configuration you will either have to scan everything for assets and upload all of them, or build some kind of way (automated or manual) to figure out which are actually used.

In a nutshell – currently WP doesn’t really manage of extension’s assets and has little functionality to work with them. Thus prevalence of pull configurations you see reflected in information around.