If you're looking to make clones-in-all-but-name, you can do this by cloning the AMI to a new system, booting it, and running it through sysprep. This will turn that new AMI into a template. When it boots next it'll require minimal setup (name at minimum) and will be a brand new server configured nearly-identically to the source. This method is used when creating, for example, a farm of .NET hosting servers that all need to be at the same code-level, upon which users will install whatever .NET apps they need.
If you're looking for puppet-style boot -> install software -> configure software style processing where to make a change to the process you just modify one config file... that's nigh impossible with Windows at the moment. Puppet is busy building Windows support right now, but isn't there yet. A good synopsis of just this problem was recently posted to the ServerFault blog (link), which is good reading.