A modern extended life coolant with nitrites is best. A conventional coolant with nitrites is second best.
Distilled water doesn't do anything so there is no reason to flush with it. IF you think your system is corroded use phosphoric or sulfamic acid to clean it, then flush with whatever water is available, then fill with your coolant mixture.
Utility grade water needs to not be corrosive to the pipes that transport it so it usually meets all of the requirements to be used as engine coolant. I would only buy distilled water if you're on a well. Your utility should publish regular water quality reports that you can compare to your engine manufacturer's requirements.
Distilled water doesn't do anything so there is no reason to flush with it. IF you think your system is corroded use phosphoric or sulfamic acid to clean it, then flush with whatever water is available, then fill with your coolant mixture.
Utility grade water needs to not be corrosive to the pipes that transport it so it usually meets all of the requirements to be used as engine coolant. I would only buy distilled water if you're on a well. Your utility should publish regular water quality reports that you can compare to your engine manufacturer's requirements.