We have a ~5-pound chihuahua who is afraid of any load noise, including road noise on the interstate. We bought a ThunderShirt three years ago. The first, an extra small, was terrific at calming her panic episodes. However, she "porked up" a bit (from 3 to 5 pounds) and the extra small grew too small. We upgraded her to a small, which is not as effective because it does not fit as tightly.
What is tight? Think of spandex leggings: close to the skin under which a finger feels a bit tight. The animal should feel a solid "hug" while being able to breath. As someone pointed out above, the ThunderShirt also functions well as a base layer for our ever-cold chihuahua.
One other thing to keep in mind - our chihuahua has very short hair so a ThunderShirt fits next to her skin. On a dog with more hair, I am less certain about sizing so I would consult with the pet store about how the shirt should be "tailored."
Maybe we're daredevils, but our chihuahua wears her ThunderShirt when we are not home with her. I'm not sure how she could be harmed any more by a ThunderShirt than by any of her numerous sweaters. Maybe if she were more rambunctious, I would be more concerned.