My brother works in politics and so he has a lot of contacts in the local graphic design and printing industries. I get a pretty good deal on small batches of custom labels and I don't have to pay for shipping which is nice.

I've seen some fair prices from the company I order my caps from, Bottle Mark.

My wife created a template for me using an inexpensive graphics application (Print Master) that she had from long ago. I fill in the beer name & ABV and print them on Avery adhesive labels (2x3 labels/sheet). I only print labels when I'm giving beer as a gift or bringing beer to a party.

I use Microsoft Publisher to create the label image since its very flexible, then either print on plain paper and use the FastLabel shrink sleeve as @Voltron mentioned above, or print them on gummed label making paper. A quick coat of spray polyurethane after printing helps keep the ink from running if the labels get a bit damp.

I have also used plain paper and milk as @brew_cat suggested - it really does work.