I find taking a stick with your hands and swinging it from the front, over your head and as far back as your can...keep it moving...more dynamic than a stretch as with each movement it should go a little bit deeper (it's called a shoulder dislocate). Keep your hands wide to start and move them in little by little. You want the pole to be able to go all the way down to your butt eventually (may take a week or two to get there). Do that as part of your warmup every time you workout and you should see some improvement. Also you can add in some pec and shoulder stretches at the end. Stretching is one of those things, the more often you do...the better you get at it....the less you do, the worse you get at it.
Sounds very common, probably due to the overdevelopment and tightness of your chest and front delts. Add in some more "retraction" exercises too as it is probably you have a tight front and weaker (imbalanced) back (rhomboids, etc.)