The problem is either with the starter, flywheel or solinoid. The electrical supply sounds as though you have looked at it carefuly, and the engine itself runs if you get it to turn over.Tthe starter motor is just that, with a gear on the end that is thrust out and meshes with the teeth on the flywheel. It then rotates, turning the engine over. The solonoid is basicaly a combination relay and electro-magenetic piston. When energized, it is drawn back to the 2 large studs on the back of the case ( one has the battery cable, the other is run to the motor). This slide action is also connected to a lever that forces the drive gear (called a bendex) out to the flywheel. The teeth on the bendex have a taper on the front edge to help align them with the teeth on the flywheel. Over time a mismatch in the alignment of the gears will wear either set of teeth and cause the teeth to sometimes hit each other instead of sliding past each other. Unless they mesh the solonoid will not fully draw back jumping the two posts and causing rotation. Also in sliding back and forth the piston inside the solonoid will wear the housing, and cause it again to stick short of engauging the posts. Finaly the motor will get a short in some of the stator's blades causing a dead spot in the motor and it will not want to begin driving if it lands in that spot after its last use. Pull the starter, inspect the teeth on the entire flywheel... it should look the same all the way around but will only wear in a couple places as the enging always stops in the same place of a compression stroke. If all looks well, take the starter to rebuild shop and have it tested (even many auto parts stores can test it) I am confident that by then the problem and how to fix it will be clear, even if I wasn't! Edd