Which program to chose when designing my own cards?
EDIT (April 2017): I released the SVG-based software described in my original answer below for playing card design as a desktop application.  You can learn more here:

http://cardcreatr.shane.guru



Original Answer: I use custom SVG when designing playing cards.  Inkscape uses SVG as its backend format.  Coming from a web development background, I found SVG to be easier to learn than something like LaTeX.  (It's just XML.)

I have a single external CSS file and a Ruby script using the "builder" library to construct the SVGs from a database.  If you don't want to use a script to generate your SVGs, it is also possible to pass parameters to your SVG.

The most difficult aspect of SVG I have found is its compatibility with other formats.  The only SVG rendering enging I've found to do a reliably good job is Apache Batik.  You can use Batik to convert your SVGs to PDF, which of course is a widely accepted format.  "Squiggle" is an SVG viewer that runs on top of Batik so that you don't need to render your SVGs every time you make a change.