Your mileage may vary, but as of 10/25/09, VMWare is the winner. We have spent several weeks playing with the latest versions of CrossOverOffice for Linux (CXO) and Sun's VirtualBox (SVB). Both are brilliant in their own way. But in the end, you get what you pay for.
CXO does very well with its "supported" applications, but I have found little or none beyond that. The most frustrating part is USB support, which seems to be nil, no matter how many hacks I try.
SVB is much snappier than VMware, but again the USB support is spotty. I have documented all this, it just doesn't work all that well. I've RTFI'd the help file and discovered you need to define at least one "filter" for USB devices. This does not appear after hours of googling. But I have done so for all available devices, but it just works for one, the Nokia phone.
Below is a synopsis:
I've had a very pleasant experience with the latest CrossOver Office (CXO) 8.0.0 for Linux ($70) with the apps that they "support". I can now use Word, Excel, without the huge disk-thrashing overhead of the XP OS.
It Turns Out That both Word and Excel are really quite snappy apps; their generally perceived sluggishness is due the OS, *NOT* the app. I can prove this by comparing response times on the app on WinXP versus response time on CXO. The difference is amazing. If I were the project manager for either MSWord or MSExcel I would prolly be hugely PO'd by the sluggishness rendered by the underlying OS...
On The Other Hand... :-(
CXO USB support and support for "unsupported" apps are less than marginally acceptable. They need an auto-discovery routine that will bring up ndiswrapper and prompt for the drivers. Or something. Hey, dmesg and hal know instantly when you plug in a USB device. So it is very doable, but after several hours of experimenting each day for about a week I can only connect to USB memory devices that are recognized and mounted as drives by the host. So this leaves out:
+ Garmin GPS products
+ Nokia phones
+ ICOM radios
+ RayTech products
And a few other programs that are only available in MSWin such as:
+ Adobe Acrobat
In short, CXO does not support the only few remaining reasons to use MSWin: niche applications and USB dependent applications.
Graphics, communications, computer admin, media, music, photos, browsers, office apps, finance, all the rest of the mainstream I can do on Linux without even a Whiff of the MS stench.
(Sorry for the arcane allegory: Newport RI has a huge sewage problem that has them tearing up almost every street in the town trying to fix... Huge trenches, beaches closed, overflowing manholes... A third world country. So you spend a lot of time holding your nose...
(But the comparison is valid, be it MSWin or sewage: almost everywhere you go you find this stench so it takes extraordinary effort to avoid it...)
Anything mainstream that MSWin can do Linux can do better. But I need MSWin to run my little toys...
[OBTW, what in the world possessed them to totally hose the menu on Office 2007 with eye-candy to completely confound over fifteen years of conventional usage and come up with a file format that is not backwards compatible with said over fifteen years of data?! The menu is just a single layer of eye-candy under which lies the old familiar File>Edit>View menu, but it takes you several days of frustration to figure that out. And the use of XML is just politically correct breast beating. Sure, introduce the new format as an option, but don't make it the default without warning! YOH! I have work to do. Time is money and you are costing me money!!
[Oh, and while you're screwing up my format and telling me that there are four cells whose formats are not backwards compatible how about giving me a [Find] choice instead of playing "I have a secret"?
[But I digress.]
In short, there are only two reasons for using CXO:
+ Snappy performance of "supported" apps on Linux, compared to the sluggish performance on XP, whether on actual or virtual hardware (I can see no difference between the latter two)
+ Political activism for OS iconoclasm. Which I support.
So where does that leave us?
+ Native Win2k/WinXP/whatevah (Have you noticed the quiet death of Vista? Actually, it was stillborn...)
+ CXO for Linux for "supported" Apps
+ Virtual machines with MS Operating Systems for the rest of the niche and USB requiring Windows programs:
- VMWare on Linux Host with whatevah client
- VirtualBox (http://www.virtualbox.org/)on Linux Host with whatevah client
AFAICT, mounting WinXP on any of these seems to be about the same. Tons of disk thrashing. And yes, I have googled extravagantly trying to find a solution. It just doesn't seem to exist. Please tell me if you know of one.
My sense is that VirtualBox is cleaner and leaner than VMWare. And it certainly is infinitely cheaper (any number divided by zero goes to infinity... :-)
I know VMWare, VMWare is a friend of mine, but it also is rather dear in this domain and AFAICT no better, and perhaps worse, than VirtualBox.
Except that it works.
You get what you pay for.