We were on a cruise to the Baltic States and were to spend two days in St. Petersburg, the primary focus of our trip. The cruise line, of course, offered several "excursions" but as always these tours were extremely expensive and even somewhat confusing when trying to choose which of the many trips to take while not duplicating sites.
A friend of a friend recommended AlloTours, a Russian company, who offered a complete, coordinated 2-day tour. They worked with us regarding the time of our ship's arrival in St. Pete. It turned out that 12 other people on the same ship had opted for this tour group (although there were several other tour groups, we found).
AlloTours deals with you on the internet. They take complete charge of arranging your "Visas", even though the cruise line will tell you that if you don't take a tour with them you will need to obtain your own Visa. You will be emailed your forms and everything worked exceedingly well. The cruise line will also try to intimidate you, saying that you will have to disembark after all their people (this did not happen) and so on.
There is no need to pay AlloTours until the second day of the tour. You can pay in cash (US Dollars or Euros) or by credit card. The fee for the standard tour is $300 (plus the credit card fee). There are also more expensive tour options available which will be explained to you.
We did meet a young couple on the ship who did obtain their own Visas and were going out on their own. It boggled our minds. I don't know how they could cover half the territory that we did on their own.
Our guide spoke excellent English with little accent. She gave us a lot of information on history and present day conditions and was very knowledgeable about all the sites we visited. One of the greatest advantages of AlloTours is that they have arranged for their tours to be able to enter the Hermitage before normal opening hours. This is HUGE as it allows you to see so much more before the huge crowds descend upon the museum.