We have done this three cities recently. We liked Budapest the most, then Prague and the least exciting was Vienna... We usually try to do a trip out of the capitals, so we can have a bit of feeling about the country itself.
I would suggest:
2 full days in Vienna - one for Hofburg and the sights out of the center and one for the city center.
3 full days for Prague - one for the castle, one for the old town and one for a tour to Kutna Hora -> ( http://www.viator.com/tours/Prague/Kutna-Hora-Day-Trip-from-Prague/d462-2190CEDT10 ).
4 full days in Budapest - one for the Castle, one in the City Park and Andrassy Avenue, one for the Jewish District and Southern Pest and one for a trip to the Danube Bend -> ( http://www.budapesting.com/tours )
Wherever you start I suggest you to use train between Prague and Vienna and between Budapest - Prague and Budapest - Vienna the best option is the www.orangeways.com bus company.
You can also save up time with spending a night on a train between Budapest and Vienna or between Vienna and Prague...
We stayed at the Castle Steps in Prague: http://www.castlesteps.com/
In Budapest with Budapesting.com at the King's Court:
http://www.budapesting.com/_kings_court
In Vienna we had friends, so we stayed with them.
We plan to return to the region in 2010, we plan to use Budapest as a base and visit the Hungarian countryside (Balaton, Eger, Pecs -cultural capital of Europe in 2010-) also Transylvania and Slovenia/Croatia and maybe Bosnia, I'm recently doing some research on all places.