Start at the source, and move back.
1) Check the battery connections and main ground. Starter pulls a lot of amps. Marginal conduction can power dash lights and such, then fail under load.
2) Trace starter cable from battery to starter. Check connection at starter. This is the "fat" cable coming into the starter. Check voltage at starter. Voltage drop (compared to battery voltage) should be minimal.
3) When in failure mode, check for voltage at solenoid at the ignition wire terminal. If there is voltage, and the connections at the solenoid are good, that would indicate that the solenoid itself is failing to actuate.
4) No voltage there indicates a problem somewhere in the ignition switch circuit.