You could easily spend week in each of St. P and Moscow. However, i'd be inclined to say that you should try and get outside them a bit, just because however great they are, they aren't really typically Russian.
You could end up spending a large chunk of time travelling a it's a big country, so I would say maybe spend 4 or 5 days in each St. P and then in Moscow with an overnight train between them, and then visit a couple of places reasonably "near" (eg within maybe 16hours by train). Kazan, for example, would be a good choice of somewhere reasonably near, but more - to my mind - Russian,a nd also with things to see. Also, as also suggested, you could visit a few golden ring towns. Some, such as Sergei Posad can easily be visited as day trips from Moscow. Others are a bit trickier to get to. But Sergei P, Vladimir, Suzdal and Yaroslavl, for example, are all good ideas. Nizhny Novgorod (formerly Gorki) is a larger alternative.
Alternativly, if you are a bit brave and don't mind travelling longer, go to Ekaterinburg. It's about 25hours by train from Moscow (depending on which train), but its worth doing one long trip for the experience [though choose a train which goes at useful times, such as lunchtme, so you don't loose an entire physical day]. You can fly the other direction, if you wished. But Ekaterinburg is interesting, has a lot of worthwhile history, and is also just past the Urals and thus in Asian Russia, so would be a bit different for you. Or you can do something like Moscow-Kazan-Ekaterinburg-Niz Nov/Yaroslavl-Moscow as a loop in a few days. And with good use of night trains, it's perfectly possible and whilst obviously a bit rushed, you would still get a good idea of what is what and a decent taster.
Good luck