Most Baltic cruises have a very similar itinerary. You don't get western fjords or midnight sun anyway, because you're the wrong side of Norway.
Traditionally, a Baltic cruise lasts about a fortnight, possibly less if anyone does fly cruises out there, and would cover 2 days in St Petersburg, plus Oslo, Stockholm, Helsinki, Tallinn, Copenhagen, and a few other places. Maybe Berlin (or rather the port 80 miles away!), Amsterdam, or perhaps Kristiansand in Norway, or Visby on Gotland, os Skagen in Denmark.
I'd concentrate more on the ship and the price, perhaps. There can be a vast range of prices between different ships. (I find the difference in facilities between the cheapest and the most expensive is worth nothing like the cost difference. Others would disagree. Personal preference.)
Companies I know about that sail out of the UK are Fred Olsen, P&O, Ambassador, Saga. Others are available.