It always takes 10 bodies for a vampire. No matter if the body comes from an imp or an avatar.
Ghosts are really weak creatures, usually not worth having. Only flies are worth turning into ghosts, but only if you don't want to sacrifice them in the temple or add a body to the graveyard.
Skeletons are also quite weak creatures, dying quite quickly and only coming more into their own once they reach lvl10. Their biggest advantage is that they are a cheap and easy creature to have and train quickly. A lvl 10 Fairy is much, much more powerful than a lvl 10 Skeleton, but if you capture a lvl 2 fairy you would be able to turn it into a lvl 10 skeleton long before you could train the fairy to lvl 10. Skeletons also take little pay and eat no food, so on maps where you face lots and lots of heroes and you don't have the resources to convert and maintain a large army going for skeletons can be the way to go. If you look at pure potential - and realize you can train thieves into knights - only dwarves, trolls and archers are worth turning into skeletons. Of course always be sure to convert samurai, knights and giants to your cause.
Vampires are an interesting unit, they are really powerful, but also really expensive to keep and to train to a high level, and they don't do that much damage. When you have plenty of gold, the graveyard is basically a broken room as you can kill your own imps or units from the portal to get as many vampires as you want. Sacrifice imps to get the cost down and find an easy way to kill them and you can buy vampires for 1500 gold a piece, train them to lvl 5 or 6 quickly and easily beat any map.
What I generally do though is convert all heroes with the heal spell, plus knights, samurai and giants. The rest I turn into skeletons. Vampires are created from the creatures that I lose or accidentally die. This isn't the 'best', but convenient and most maps are easy enough that I don't need the rest of the heroes/more vampires.