I always upgrade in the stores due to return policy. If you upgrade in stores you can return to store within the first 14 days. If you don't, then you have to send the device back and wait for another in mail.
The lesson if you upgrade in the store and you have a plan or feature you want to keep, is to question the rep thoroughly that he won't touch the data plan if you buy the device from him and he won't change anything on the account.
If he won't do that, or he seems incompetent, don't buy from him and find another rep. Telesales can be just as shady. Who knows what they're doing to your account when they're sitting there typing. And if your order via web, who knows what the automated system will do. I still believe that looking someone in the eye is safest way to buy the T-Mobile devices.
I normally agree with you on buying phones in store. Returning phones to the store is much easier than shipping it out. However, I thought you could only add the preferred data plans over the phone? I didn't want to upgrade to an android phone in-store and then have to get it switched over to the $20 plan. Plus they gave me a better deal over the phone than in-store even though I was still on contract, but fully upgrade eligible.