Put the DataSets inside the ViewModel --
More and more adopt this pattern. It is the best way to provide test coverage and portablity of code, imho.
There are a lot of different takes on the finer aspects of MVVM, you should check out fellow member wkempf 's blog http://wekempf.spaces.live.com/default.aspx and sacha barber's too http://sachabarber.net/
Don't forget P&P's MVVM WPF/Silverlight composite framework http://compositewpf.codeplex.com/ (a.k.a. Prism)