I've done a Thomas, one Henry + tender and 3 Gordons + tenders (James will be next - for ds' 5th birthday).
I make them out of a square version of Nigella's butter milk cake. I buy a pack of coloured icing from the supermarket. However, blue is a problem, so you have to either buy the writing icing and squidge that everywhere, or make some blue buttermilk icing (which actually tastes nicer). You still need the black icing from the multi-pack of coloured icing, plus red and yellow writing cicing (to ice on his number, plus some of the red lines if you can be bothered).
I just cut it into bits and stuck it together with raspeberry jam and butter icing until I got apporximately the right shape. I then stuck black icing in the "right" places and then either draped coloured icing or smeared coloured butter icing over the rest.
A blob of black icing does well for the funnel - and then stick a wee bit of teased out cotton wool on it for smoke.
For the face, mix some black into the white icing to make a pale grey. Pull out a wee bit for the nice and carve in the mouth and cut out two wee bits of thin white icing for the eyes. "Draw" on (with a black icing "pencil") the appropriate black bits.
Alternatively, get a tin!
BTW - liquorice wagon wheels make great wheels and smarties make great bumpers.
I second the need to have a "template" to "copy" from. Although, if you use a Brio model as your template, remember that there are TWO bumpers at the front and back and not just one!
I have to admit that my trains now look quite good . The reason I made three Gordons is because this year I did a Gordon for ds' birthday itself, one for the party (the following day) and then I volunteered (!) to make one for his wee best friends' birthday a few months later. MAD!