There are a couple reasons, but the primary one is thinking about the location of the runners by the time the ball is picked up.
There are a few things you're correct about:
- There is a force out at third.
- Throwing to a closer base is generally safer.
- Getting an out at third would probably have prevented at least one run from scoring.
But, it's important to consider these factss:
- The runner on second had a lead, and likely started running the moment contact was made (perhaps started running earlier, if the hit and run was on).
- The batter has to pivot before he starts moving towards first, and doesn't get a lead.
- The position of the other infielders matters. The third baseman may not have been in position while the first baseman was.
The first two points above combine to mean that when the pitcher gets the ball, the runner on second is much closer to third than the batter is to first. Thus, if he throws to third the runner may be safe anyway. Throwing to first is almost a guaranteed out - although the risk of a wild throw is higher, it's still pretty low for most infielders and pitchers. They practice this a lot. You'd also need a very fast runner to beat out a throw to first in most infield grounder situations.
For the third issue, if the third baseman was also charging the ball, then he would not have been in position to receive the throw at third and thus get the out. The first baseman would have been moving towards first as soon as the ball was hit and he recognized it wasn't coming his way, so he is going to be there, ready for the ball. The pitcher should check third if he has time, but if there's a fast runner or the ball was a slow roller, he may be concerned about missing both outs if the third baseman isn't there.
Of course, without seeing the play, it's hard to know just how close the pitcher and third baseman were to third, but these would be the most obvious reasons I can think of for the play happening the way you describe.