You can try Diskeeper pro. I use it on my Vista machine, in the automatic mode, and it works very well. Manual defrags are pretty quick too.
Free trial downloads can be found at
Diskeeper - Maximizing computer performance and reliability automatically utilizing defrag 