A lot of good responses already so I will try not to cover what's already been said. Throwing for a pitcher and throwing for a position player are two related, but different skills. A pitcher is throwing the exact same distance, from the exact same position, with the exact same mechanics every time. His goal is pin point accuracy, repetitive motion, and deception. A position player throws from an almost infinite number of distances from a wide variety positions and usually on the move. His goal is general accuracy and a quick release. Think of it this way, a pitcher is like a cannon a position player is like a quarterback.
Since the OP was asking about a position player I will refer my answer to that type of throwing. Overhead pressing, although not harmful, is still only marginally helpful. Throwing hard is a result of power in the legs and hips being transferred into the whipping action of the arm. If a position player wants to increase his arm strength he should focus on powerful legs and hips and a supple and durable shoulder. This means squat, deadlift, power clean, presses, and shoulder mobility work.
In addition to this, he must train his ability to repeat the proper throwing motion every time from a wide variety of stances. This means many hours of the following: throwing from one knee, long toss, and lots of infield and outfield practice. Hope this helps.
When evolution is outlawed, only outlaws will evolve.