Twenty years ago I travelled from St Petersburg to Guangzhou (Canton) by train. Via Mongolia it was 7 nights in sleepers in total. It was certainly an experience, but it's a long way! Fortunately I had the luxury of being able to take long breaks of journey at suitable places of interest.
If you can break the journey and take plenty of time then it's worth doing, but it's not really an alternative to flying, though there were several Australians making the journey from the UK and Europe to get home for Christmas. Apparently the Christmas flights to Oz were so expensive then that it worked out cheaper to get as far as possible by train.