if you're looking for more of an authentic Russian experience - good and bad - then Moscow is preferable over St Peteresburg. As a Westerner, it can be very difficult to get around and cope with mundane things, however. St Petersburg is much more beautiful than Moscow, and English is to be found everywhere, so getting around, ordering food, buying tickets, etc. is very easy. I've visited Russia many times (with my Russian wife) and would not hesitate to visit St Petersburg on my own, but Moscow is another thing entirely. For me, there are only a few spots in Moscow worth visiting. On the other hand, St Petersburg could literally occupy your time for a month, if you are into arts, museums, etc.
The mood in St Petersburg is much cheerier and cooperative than Moscow. Much!