I havent found one yet, but the way i was looking at this was to instance data option. The plan, which has not yet been put to the test, was as follows:
- build a basic Windows Image (ok, i know you mentioned you didn't want to do this, but this is the best option i can think of).
- the image should only have a basic Windows service which calls out to the instance data URL (http://169.254.169.254/latest/user-data). this should be in a format that the service knows about (XML is probably best). the data should point to URLs to exes, msis, etc, that you want to install.
This is the only option, other than creating your own fully custom AMI, i can think of. you might not get it to install SQL server (though, unattended install might be an option...) but installing basic tools, IIS, etc, could be easy enough to do.
Hope this helps.