You can try the selection of tours on Viator.com which is sort of the tour equivalent to what Booking.com is to hotels, a large agent.
None of the cruise oriented companies are bad but some more honest than others. A recent expose in a local newspaper laid out a case of a lot of corruption with the largest company that gets promoted the most on Cruise Critic. Trip Advisor which owns Cruise Critic seem to make it easy to manipulate forums and reviews with a lot of fakes. One company that grew from nothing to netting many millions a year did it by employing teams of fake posters for generating reviews and dominating forums. If you see a question being asked, regardless of the company that is the topic, you will see a dozen of the same high post count "members" with thousands of posts, and almost every one of the posts is promoting one company. I know the area intimately and would not go by any recommendation by regulars on either of those two communities.
The good thing however is that everyone seems to be very pleased with their tours regardless of which company. Figure a full two day tour with all the must sees in a small group now is about $240. More if including more expensive destinations, less for a more relaxed pace. Be prepared for the workout, you will do a LOT of walking and will see a lot so even the relaxed pace tours for around $200 are still very full days.
Toursbylocals is a booking agency for private guides. There are good and bad aspects of private guides without company affiliation. One thing paradoxically, they charge a lot more per tour or hour than a commercial tour operator. Some of the same guides advertize on http://tourguides.viator.com/ for about 1/2 the price, and about 20% less than that if you contact the guides directly without using a booking agency.
If you only need a guide for one difficult-to-do-on-your-own like Catherine Palace, the cheapest way is booking a day group tour with the many bus tour companies with kiosks on the Dumskaya and Nevsky intersection at the end of Gostinny Dvor shopping center on Nevsky, across the street from the Grand Hotel Europe. Go buy passage before 10am and two tours a day go. The reason for booking one of these, besides the lower price but it means you can even get a ticket. During the summer you are likely not to be able to get a ticket for the palace at all without being part of a group because between cruise tours and these tour buses all the allotted tickets each day are already spoken for. In the fall or spring you can just go to Pushkin and buy a ticket to the park and the palace off the street, but not in the summer.