Thanks everyone for the responses. I feel pretty stupid. I climbed under the Jeep today and the three-wire connector located directly under the starter, does not go to the starter; the correct single wire connector was above the starter and could not be seen.
So I tested the wire at the starter, and I only get 12v at the starter every 5-10 times I turn the key.
I took the ignition apart and the actuator pin looks fine. When I turn the ignition with a screwdriver, it still only starts every 5-10 tries. I did notice that if the fuel pump doesn't run when the key is turned to the run position, then the starter doesn't crank. If the fuel pump runs when the starter is turned to the run position, then the starter will crank. Is there a way to test the ignition switch?
I swapped multiple relays with the starter relay and one relay allowed the starter to crank every 2-3 times but it still didn't start every time. Another relay didn't allow the starter to crank ever. So I don't know if all my relays are bad and some are worse than others or what is going on. Any ideas?