Step one - prep figures. Remove flash using a hobby knife and / or a small round file. If the figure cannot stand properly, file the bottom of the base flat using a flat file. If the figures need spears, javelins or pila added, now is the time to drill out the hand using a dremel tool or pin vise.
Step two - wash figures in warm soapy water. Rinse well and leave to dry.
Step three - now is a good time to attach any shields, javelins, spears or pila to the figures as metal-to-metal bonds are stronger. If you are painting cavalry, you must decide whether to attach man to horse now or after the painting is done. Don't get stressed about this though; both ways work fine.
Step four - affix figures to a temporary painting stand. I use strips of cardboard and stick them on with double-sided tape. Make sure that the figures will not come off in normal handling, but don't put them on so well that you can't easily remove them later. The key word here is temporary!
Step five - spray prime the figures. I use a light primer, either white or light grey. Make sure you get decent coverage but there's no need to spray it on too thick. Be sure to cover your nose and mouth while spraying, as too much in the lungs is not a good thing. Leave to cure, preferably outside for the first couple of hours. As a rule of thumb, once the paint has cured, it will be odourless. If you can still smell the paint, wait another day before beginning to paint. If priming horses separate from their riders, a good time-saving trick is to prime the horses in their base colours, which will save you a painting step.
Step six - give the figures a brown wash all over. Use whichever wash you prefer. I like to go with a paint, water, Future / Klear mix. This is to cover up the white patches and to provide shadow for flesh areas and tunics. It is also a good colour from which to build up mail armour.
Step seven - if you think they might be tricky to get to later, it can be a good idea to do the backs of the shields now. You may have to touch them up later on to get rid of splashes, but it's better than having your splashes come the other way around.
Step eight - block in the flesh areas using a darker shade of the final flesh colour you want. Don't paint into the shaded areas; you want the earlier brown wash to show through here and give depth to eyes, mouth and sundry other bodily creases. As an aside, it's a good idea to decide before you begin how many flesh coats you want to give the figures. Two is probably enough, but I like to give three. Whatever you decide, you need to factor this in when selecting how dark to have the colour at each stage. Obviously, if you are only having two coats, you will probably have a slightly lighter first coat. If you are having three, you will have a darker first coat, a good middle coat, and a light final coat. There are also flesh washes you can use, so your technique for doing flesh will probably change as you get a better idea of what products are around, what suits your style, and how you can save on time.
Step nine - give metal areas a dark wash. I use Tamiya Smoke mixed with a little black and watered down with thinner. Experiment to get the colour and flow you like, because this will make or break the mail on your triarii and principes. Cover swords, spear / pila tips, helmets (and I do helmet crests, too), greaves and shield bosses as well as the armour. You will probably want to give another coat to the mail at some stage, but you can wait till later so that you can disguise any paint slips from later steps. The smoke dries quickly, so you might prefer to break this into two batches - weapons and helmets in batch one, armour and shield bosses in batch two.
Step ten - block in the tunics. I use two colours: red for Romans and white for allies. I will also add in the occasional buff or sand tunic for a little variety amongst the whites. You can use pretty much any colour you like for the things, but do some research beforehand just to be sure some new evidence hasn't come to light. Again, you can leave deep creases alone if the brown wash is strong, and I find you can sometimes almost drybrush the white on if your original wash was an especially good one. As with the flesh, you want to keep a lighter colour in reserve for your highlight, so my "white" here is more likely to actually be a buff, a light gray, or an off-white. Do be careful not to get excess paint on the mail areas. You can cover spills with another smoke wash, but it's much better to avoid having to do so if you can.
Step eleven - block in the shield fronts. Try not to paint over the shield bosses otherwise you'll lose that nice smoke colour.
Step twelve - do your browns. Block in the shield backs (if you didn't do them before), the spear shafts, the sandals, hair and any belts on the figure. You can also do the scabbards now, for which I usually employ a slightly different colour, reddish brown. For things which have a lot of sculpted detail such as sandals or hair, I will sometimes use a very thin coat, even a wash, to bring out the details.
Step thirteen - do your first flesh highlight. How much you cover will depend on whether you're planning on doing a second highlight or not. Try to suggest some muscle definition by putting blobs on bicep and tricep, one on elbow and hand, a line on the thumb if you can, two lines on forearm, blob on knee, two on upper leg, one on shin, two on calf, etc. Faces require a skill of their own, but I tend to hit and hope - sweep across the forehead, dab nose, dab each cheek, slash across the back of the neck; perhaps adding a touch to the ears if they are visible. I'm not a great painter of faces, so don't take my method as gospel here - check the work of others to see what works for you.
Step fourteen - do the helmet crests. I usually go for red, blue, white or black and use a base and a highlight (though I don't highlight black). Helmet crests done well are an easy way to really lend some pop to a figure, so it can be worth going for the highlight, even if you are getting a bit sick of painting by this stage.
Step fifteen - do your metallics. Slap some bronze on the helmets, the shield bosses, the greaves and the sword hilts. Leave a little bit of the smoke wash to show through at edges and joins. Some people like to further highlight their bronze but I prefer to use the smoke wash as a shade and the bronze coat as its own highlight. Use a silver for sword edges, spear tips and, if you want variety, for the odd helmet or shield boss here and there.
Step sixteen - highlight your tunics. Hit the high points, suggest folds and try to make the figure pop. A dry brush can be useful here, depending on you much sculpting detail there is on the figure.
Step seventeen - do your final flesh highlight (if there is one) and do any other highlighting that takes your fancy. You can add a touch to belts, scabbards, shields or anything, really. Highlighting really does make a difference if you have good colour matches and some patience.
Step eighteen - do a protective wash. I like to give my figures two coats of Future / Klear to protect the figure from handling damage. I don't know if it makes much difference, but I feel better for trying. The gloss coat also unites the colours and sets things up well for the final step. The Klear coat here can also have a little black or brown added to it to bring out some extra definition in the figures if you think they could use it.
Step nineteen - give everything a matt spray. The matt will bring all the colours into line, and while it may dull things down a little, overall I like the effect. If you don't like the colours to be all flat, you can do a quick highlight of the metallics to get a little shine.
Note that you can swap the order of these steps around and even skip some steps altogether, but this is my standard method of painting Romans. Note also that my results are not top notch, mainly because I paint in bulk, don't have a good method of highlighting black and can't be bothered highlighting shields or adding transfers. If you are prepared to take more care and go the extra mile with highlighting you'd be able to use this method to get better results than I got.