Had that problem for 5 YEARS on my port engine. It would initially do nothing when I hit the key then, after jumping the solenoid, it would usually start okay for a few days. Grrr!
Changed EVERYTHING in sight, including the neutral safety switch, the ignition switch, battery cables, solenoids (twice), fuse holder, etc. etc. Nothing worked until a good buddy of mine suggested installing a relay to pull in the solenoid, and it has started first time ever since! The voltage required to operate the relay is so little that IT always works. The relay ten takes 12 volts right from the battery cable to operate the solenoid. Beautiful!
Jeff