There is no best way, what's best for you can vary depending on needs. If you're talking about a windows based network there are a couple of common options.
1. Use the RIS (Remote Installation Services) thats built into Server2000 and above. See
http://www.microsoft.com/windows2000...emotesteps.asp for a step by step guide.
2. Use PXE (Pre-boot eXecution Enviornment) if you don't like the MS RIS. There are third party PXE server solutions that will allow a workstation set to boot from the NIC to auto-install the OS and Apps.
3. If the workstations are identical you can use a product like Ghost corporate to push out images to the workstations.
There are other options as well, but I've used those three methods in the past.