It sounds like you are only having this running warm situation when the A/C is on and sitting in traffic, (is that correct?)
Your aux fan should be running almost continuously under those circumstances, due to the switch in the A/C drier turning the aux fan on (low speed). So with that in mind, and if your aux fan is running, it should not even matter whether the engine temp. switch is operational, as the aux fan is already running with the A/C switch.
It sounds like your viscus fan coupling is weak, which replacing it will help with air flow. Also I have seen many times, dirt clogging the fins of the A/C condenser and radiator, severely restricting air flow more noticeable at idle speeds with A/C on. I use a long air blower with a 90deg angle tip and go between the radiator and condenser, blowing out the debris. The thermostat is always a source of problems like this also, if it is not opening completely it can cause problems. A problem I run into occasionally is the aux fan running backwards, the wires are reversed in the plug. The fan should turn clockwise to push air through the rad/condenser.
Let us know what you find