After long analysis I have figured out MVVM light is the best pattern for data driven surface apps.
To make this work:
1) Create MVVM light project using VS 2010
2) Change the main page window to s:surface window
3) Add the event handlers from surface project
4) Add locator information for view model locator at app.xaml
5) Create static instances at viewmodellocator