Whether you use an NPN, darlington, array, or MOSFET, is really dependent on the amount of current you want to control.
500mA is too much for a ULN2003. For that much I would suggest a logic level, low Rds, low gate capacitance N-channel MOSFET. Can be found for ~50 cents at digikey.Power dissipation in the MOSFET would then be minimal:
Power = voltage * current, or current^2 * resistance. 0.5A * 0.5A * .05 ohm (50mOhm) = 12.5mW when turned on full. Use a 100 ohm series resistor to the Gate.