Using transistors (or relays) on a 12V 3A pump
The reason your transistor is heating too much is because it's a darlington and has a volt or more drop at 3A. The TO-220 package is good for 1 to 1.5 watt without a heatsink; you have at least double that.  

Since the supply voltage is only 12V, I suggest using a MOSFET. For example, the IRLZ34 is rated 60V, with 50 milliohm Rds at 5V gate-to-source.  A 100 ohm resistor in series with the gate should calm the the switching and 10k from gate to source makes sure it's off when not powered.  A 3A-rated diode around the motor (cathode to positive) is good insurance that any inductive spike on turn-off is not absorbed by the MOSFET.  

The other questions: 

On a DC motor, voltage determines the motor speed, the motor draws as much current as is needed to run its load at that speed. Voltage drop across the transistor (and wiring) will reduce motor speed.

It would be a good idea to have resistors in series with the outputs to limit the base current. You probably only need 10mA or less, so like 390 ohms. 

I wouldn't use a relay, since you don't need isolation. A MOSFET is probably less expensive than a relay, and the relay might need its own drive circuit if your output is inadequate.