Most importantly, you have to start with both jacket and shirt fitting you correctly. The shirt sleeve has to be long enough naturally that only the required amount is showing when the jacket is worn and both are at rest at your sides. Too often, men will wear sleeves too long, even though, with the button on the cuff closed, will "rest" in the correct position. The extra slack is distributed up the sleeve, most notably in the forearm. In this case, the jacket is retracting up the the arm, but the sleeve, because of the extra length/slack, does not.

So. #1, sleeve has to be the proper length. Not long, not short.

The jacket, as mentioned above, must have a higher cut armhole to allow for greater freedom of movement. That said, the jacket will almost always retract further up the arm compared to the shirt, but not to the extant of showing the entire cuff.

#2, jacket sleeve and armhole must be cut and fit correctly as well as to have the jacket and shirt move in harmony.