can NPN transistor be used when sinking current?
Key principles:

An N Channel FET such as a 2N7000 has drain more positive than source and needs its gate driven positively relative to its source to turn on. 

A P Channel FET such has drain more negative than source and needs its gate driven negatively relative to its source to turn on. 



You can use 2N7000 as the high side switch ONLY if you are prepared to drive its gate 3V or more above its source. This would require extra drivers  to translate the Arduino voltages to the correct levels, which negates any gains in this case. Better and easier is to use P Channel high side FETs or PNP transistors. A P Channel FET is somewhat easier to drive in this context.

5V drive is better with 2N7000 that 3V3 but 3V3 MAY suffice.

The cheapest P Channel MOSFET (in stock Digikey 11.1 cents each in 100's) is the horrible BSS84 . This is a common hobbyist part but has poor specs.

BUT for 13.3 cents each in 100s  (in Stock Digikey) you can buy the unbelievably good IRLML6402 - only 20V but 3A , 65 milliOhm Rdson (on resistance) - probably works well enough with 2.25V gate drive and at 3V will get up and sing and tapdance simultaneously. A bargain.

Those are both SMD (surface mount) parts.

Through hole parts are less available but here are a range available from Digikey

Start from about 36c in 100.s A TO220 part is available for slightly more.

Note that Vgsth - threshold or turnon voltage should be substantially lower than available drive voltage.

THe remarkably good value compared to most IRLIB9343 datasheet here is possibly best value.