Have you tested for a head gasket failure. We have seen a few failures on these engines. What will happen is a small crack in the head gasket will cause air to accumulate in the cooling system. It will collect around the thermostat, coolant sensors. The sensors and the thermostat have to have liquid coolant around them to operate accurately. If a air pocket is around the sensor it may take a few more minutes for the fans to kick on. Usually it affects the heater operation, No heat at idle. then heater starts working after, you start driving again.
Fan motors may not be turning fast enough, or radiator fins may be restricted not allowing air flow.
The radiator cap may not be holding pressure. Coolant will boil at a higher temp under pressure( boils at 255 F with 15 lbs psi) If the cap won't hold 15 lbs psi It should be replaced because the coolant will boil before the fans turn on. The first fan will turn on at 220 degF. This sounds like a simple thing, but it is the most over looked.