My fans work, thermostat works, runs great and perfectly in the middle.
With the cap on the radiator it overheats sporadically and quickly.
With the cap lose it doesn't overheat.
Sounds like it's time for a compression test to determine whether you have a head gasket leak.
If you see two adjacent cylinders that are markedly lower than the other two, the head gasket is suspect.
idle it with the cap off. do you see bubbling in the reservoir?
what were the symptoms leading up to now? did you recently drain the coolant? was it low the first time?
I really suck at smog.