During a Baltic cruise last July my wife and I had a local tour company in St. Petersburg take us on guided tours each day. They were fantastic and we did not need a Visa, they also had all museums admission tickets arranged in advance . The company was Palladium Travel; their web site is www.palladium.spb.ru
It turned out to be a great experience. Our guide met us at the ship side each day and was very knowledgeable and spoke great English.