From the description it could be the ECT sensor.
When engines were switched to Fuel Injection there was no way to "choke" the engine to run rich and with advanced timing when it was cold, no jets.
So FI engines use an ECT(engine coolant temp) sensor to tell the computer the engine is cold, so it can run injectors rich and advance the timing, also raises idle via the IAC(idle air control) valve.
The ECT is a two wire sensor only used by the computer, there is a one wire "sender" that looks similar but it is for the dash board temp gauge.
If your ECT sensor is telling the computer the engine is always warm, then it would be hard to start and have a low stumbling idle until it actually warmed up.
You can test this sensor with an OHM meter, set scale to 200, tested cold the ohms should be high, 30 to 50 ohms, then test again after engine is warmed up, should be in the single digit range 2 to 6 ohms.
If it's below 15ohms cold then replace sensor.
A bad ECT sensor will usually turn on the CEL(check engine light) but if the ohms are changing, say 15ohms cold and then down to 2ohms after warm up, the computer doesn't think anything is wrong.
It just thinks engine is already partially warmed up so doesn't run it as rich as it should.
Since this is a resistance circuit a partial short in the wires could cause lower resistance, so while the ECT is working correctly, 40ohms cold, the computer is seeing, 20ohms because of the bad wiring.
ECT sensors rarely fail, not never fail, but they are easy to test.