All good suggestions above. The one thing that made a big difference for me was adding an element of "external shoulder rotation" to my shoulder stretches.
Lilla mentioned pointing the elbow forward, or "keeping the elbow in", which requires more external rotational flexibility than I think many of us have. It is also something that most "regular" shoulder stretches fail to address.
If you look at the stretches in the pdf above, I modify 2 of those stretches:
- the Latissimus Dorsi/Triceps Stretch: rather than pulling on your elbow with the opposite hand as illustrated, I lean the "stretching" elbow up against a balance ball up against a wall, so that I can use my body weight and position to add the "basic" shoulder stretch. I then put my other hand on top of my "stretching" elbow, put my thumb on the inside of my "stretching" forearm and add a mild pressure, which in turn rotates my "stretching" forearm out and away from my head - just a little. Feeling a bit of a stretch is good. It should of course never hurt.
When I do this stretch I make sure to tilt my head back to imitate the "diving" position. I also "pretend" manipulate my valves to improve my muscle memory for that skill. I get a few odd looks at times, but oh well
- the Hanging Shoulder Stretch: I do this stretch both standing as well as kneeling on the floor, and rather than having my palms flat on the floor (or wall), I rotate my arms/hands so my palms face each other with my hands no more than shoulder width or less apart. This again adds a bit of external rotation to the regular shoulder stretch. I also do the standing version of this stretch one arm at a time.
I modified those stretches about a year ago, and would guestimate that I started to see an improvement fairly quickly, but it took some months before I really felt a big difference. I had surgery on my left shoulder a little over 2 years ago, and now have good - and equal - range of motion on both sides.
Hope this made sense. Would've been much easier and quicker to demonstrate
Henrik