Having just returned from Shanghai and experiencing the train system first hand the answer is YES, buy your tickets in advance and go for first class on the fastest train available. We went to the station to get the first set of tickets and you have to pay cash (RMB) and the next set we ordered through our hotel and paid 30 rmb service charge. Again in cash and well worth it. The last set of tickets we bought the night before we left as our plans were kind of flexible and we ended up on a slow stop & go train in coach with almost no room for luggage. We went from SHA to Yiwu where they don't have elevators of escalators so be careful about the amount of luggage you take. We stayed in a great 5 star hotel in Shanghai that was very reasonable if you're not booked yet.Have a great time!