Just to be clear, engine runs rough when cold but runs OK when warm?
When warm the starter turns over the engine at a good speed but engine will not start?
Could be a couple of separate issues.
Starter motor could be on it's way out, when warm the starter could be drawing too many amps which lowers the voltage at the coil, so crank starting won't work when engine/starter is warm but bump starting does.
Cold starter motor doesn't draw the extra amps.
I would test coil voltage with engine warmed up and starter turning, should be 10v or higher.
Could also be corrosion in wire ends, this raises the resistance in the wire and so reduces the voltage going to the coil.
Warm wire has more resistance than cold wire, so starts fine when wires are cold but not when wires are warm because of the extra resistance from the corrosion.
Fuel injected engines can't use a standard choke plate for cold starts, they use a sensor to tell the computer that the engine is cold and to run engine rich until it warms up, so poor operation when cold could mean a "choke" issue.
This is called the ECT(engine coolant temp) sensor, it is a two wire sensor.
There is also a one wire sender that looks similar, it is used for the dash board temp gauge.
two wire=ECT for computer << this is the Choke for EFI engines
one wire=sender for gauge
Easy to test this sensor
http://oldfuelinjection.com/?p=28