You should look at an imaging and configuration suite like JAMF Casper or the free Deploy Studio. Both of them make scripting complex installation tasks easy and both support deploying images via PXE.
For Deploy Studio, which I'm most familiar with, you would pre-install whatever software you want, then boot that reference machine to the PXE image and being a capture workflow. Once that workflow is complete, you'll have a server with the working image stored on it. From there, the Deploy Studio management tools will let you automate other parts of the deployment, including installing extra packages that don't like being pre installed in images (Like Final Cut), filling out network information, setting the machine name, binding to Open or Active directory, etc.
JAMF Casper has the edge in terms of features, but it is also not free. Casper will allow ongoing config management, whereas Deploy Studio assumes you're using an additional tool for that like ARD.
Both of these tools let you import a "thin" dmg of the OS, meaning that you can choose to deploy a retail image of the OS and not a captured one. This cuts down on hardware-dependent installs (though I haven't run into that being a problem in years), but is also generally considered "cleaner" all-around. Then you can use the peripheral tools of either product to script the copy/install of any additional applications after the system has had a clean base-image laid down. For both Windows and OS X, I strongly recommend the thin image approach. It makes it easier to update the base install, since you can just tweak a script when a new product is added, rather than do a whole restore/recapture/redeploy. It's certainly a bit more work with scripting, but totally worthwhile in the end.
Apple also includes a System Image Utility that can deploy pre-configured images as well, but I haven't looked at it since 10.5 because third party tools were vastly superior and have met my needs since then.