Shirt size depends on the source and the cut. A XXL from Asia can fit like a glove while a medium from the U.S. fits fine. Vanity sizing has really screwed things up. Measure the waist of a pair of 32" Levis and you find out it is actually 34 inches. Whenever possible, try clothes on before purchasing them for the best fit.
I have a 16 3/4" neck and a 35" sleeve length. This translates to a XL shirt. A shirt that size looks like a tent on me. I stick to medium or large depending on the brand. Medium size shirts are a little tight in the chest. I prefer this to wearing something that swims on me.
People who carry a few extra pounds look best in clothes that are slightly loose. Tight clothes on a fat body make a person look fatter. Likewise, loose clothes on a thin body make the person look skinnier.
Untuckit recently opened a store in Tigard, OR. I've been wanting to try on one of their shirts for awhile. Now I can. Their shirts come in regular and slim sizes.

