There is a similar thread on the Rat.net, Jersey Jeff posted. Here's my response:

My 02 did the same thing two years ago. I thought for sure it was switch related. Local dealer said it was the starter solenoid. Ordered the part, but they screwed up and ordered the starter relay instead ($11). I bought the relay and bumped into the mechanic on the way out. Told him about the wrong part, he said I wasted $11. I said oh well, call me when the solenoid comes in ($100). They never called back, and after two weeks I decided what the heck, put the relay in. With the new relay, I've never had a problem since. (still waiting for the call on that starter solenoid....) You might want to take the $11 gamble, not much to lose. Keep us posted. This problem frustrated me for several months before swapping out the relay.


Al