If you are working out in a gym then get a spotter (preferably a good sports trainer, therapist etc) to watch what happens at your shoulder as you perform you weight training techniques. Get them ot let you know when they see your shoulder drifting forward. This will give you an indicator of the range in which your shoulder is weak in, or at how many reps / the weight you are / are not able to lift with good technique.
Everytime you are completing an exercise where you shoulder is drifting forward you are reinforcing this habit / patterning.
You also may need to look at the specific exercises you are doing. As Canuck mentioned an idea of the sort of program you are using / discussing with a physio / sports specialist / strength and conditioning coach etc would be useful. Doing fly type exercises for example can make this type of problem worse if not properly controlled.
Other things to consider are the amount of time spent on the small control muscle around your shoulder. A lot of people using weights tend to focus on rhomboids and upper traps exercises (as well as pecs), tending not to focus on the lower traps and stabilisers.
Be interested to know what you have been given exercisewise by therapists in the past and what your regime involves.