Just a short follow up: we took the bus from Petrozavodsk to Sortavala. One can buy tickets online. The driver has a print-out of passengers so you need only to show your passport to him. Cost was about 600 rubles and the journey takes exactly 4 hours (the bus departs from the Bus Station in Pertrozavodsk at 20.00 and arrives in Sortavala at midnight).
The bus stops about 20 times (most stops are for no more than a minute) and it's a very pleasant and comfortable journey in a modern air-conditioned bus. The final stop is in the center of Sortavala and one can walk to various hotels from there. We stayed in the Kaunis Hotel which is located about 60 meters (5 minutes' walk) from the ferry to Valaam.
By the way, there is no ferry between Valaam and St Petersburg. Instead, one can take the ferry to Priozersk (travel time about one hour, and cost 1000 rubles), and the train or bus from Priozersk to St Petersburg (travel time about 2.5 hours, and cost about 160 rubles). However, one needs to take a taxi from the ferry point to the railway station in Priozersk (this is about 5-6 kilometers - cost 200-300 rubles). The bus departure point is located next to the railway station.
-:- Message from TripAdvisor staff -:-
This post has been removed at the author's request. The author may repost if desired.
Posts on the TripAdvisor forums may be edited for a short period of time. Once the edit period has expired, authors may update their posts by removing and reposting them.
To read more about editing your posts, please follow this link: http://www.tripadvisor.com/help/how_to_edit_your_posts
The bus station is located over the tracks from the railway station. Just ask directions from anyone at the station for clear directions. One has to walk over the pedestrian bridge. It's about a 10-15 minute walk. If you have a lot of luggage then it's about 5 minutes by taxi.