+1 on Vistaprint. I've used them before for many printed items. The Frugalwoods have a hack on their blog about how they get really cheap Christmas cards. They choose a business postcard and substitute holiday pictures and message for the 'Sale' or 'Promotion' part.
You can Google promo codes for discounts, and shop through a rebate site like TopCashBack, Ebates, or Mr. Rebates to get your costs down.
If you do go the CVS or Walgreens route, look for discounted gift cards on Gift Card Granny, Gift Card Jungle, or ebay that you can use to pay.
+1 on the ReStore. I have a lot of stationery from thrift stores, estate sales, and yard sales. Some of it is gorgeous, on heavy card stock with lined envelopes, etc. I don't care if my Christmas cards all match, because no one on my list is going to get together and say, "OKCisok's card to me doesn't match the card you got!". As long as they're all nice cards, they don't need to match. Some people are getting the Spode cards, some are getting the snowman cards, and some are getting the snail cards with glitter shells :)
You can send fancier postcards, doing away with envelope and a percentage of your postage costs.