I use Paint tool SAI. So I do the lines on one layer, I create one above and set it to multiply, then I select the area I want to colour, and well, colour it in the desired one. I also shade while selecting it, and any bits not done, just use the colour on so it doesn't look all blocky. Repeat. This ought to work on Photoshop and GIMP as well.