Windows 7 and 8 have a defragmenter running in the background by default. XP has one as well but you need to run it manually. If you are looking for a third-party application, try Ultimate Defrag. It has very sophisticated options to put the files exactly where you want them.
I'm not sure if it really helps much to speed up a system.