I like the proof by Paul Monsky: 'Simplifying the Proof of Dirichlet's Theorem' American Mathematical Monthly, Vol. 100 (1993), pp. 861-862.
Naturally this does maintain the distinction between real and complex as whatever you do, the complex case always seems to be easier as one would have two vanishing L-functions for the price of one.
I incorporated this argument into my note on a "real-variable" proof of Dirichlet's theorem at http://secamlocal.ex.ac.uk/people/staff/rjchapma/etc/dirichlet.pdf .
There are proofs, notably in Serre's Course in Arithmetic which claim to treat the real and complex case on the same footing. But this is an illusion; it pretends the complex case is as hard as the real case. Serre considers the product $\zeta_m(s)=\prod L(s,\chi)$ where $\chi$ ranges over the modulo $m$ Dirichlet characters. If one of the $L(1,\chi)$ vanishes then $\zeta_m(s)$ is bounded as $s\to 1$ and Serre obtains a contradiction by using Landau's theorem on the abscissa of convergence of a positive Dirichlet series. But all this subtlety is only needed for the case of real $\chi$. In the non-real case, at least two of the $L(1,\chi)$ vanish so that $\zeta_m(s)\to0$ as $s\to1$. But it's elementary that $\zeta_m(s)>1$ for real $s>1$ and the contradiction is immediate, without the need of Landau's subtle result.
Added (25/5/2010) I like the Ingham/Bateman method. It is superficially elegant, but as I said in the comments, it makes the complex case as hard as the real. Again it reduces to using Landau's result or a choice of other trickery. What one should look at is not $\zeta(s)^2L(s,\chi)L(s,\overline\chi)$ but $$G(s)=\zeta(s)^6 L(s,\chi)^4 L(s,\overline\chi)^4 L(s,\chi^2)L(s,\overline\chi^2)$$ (cf the famous proof of nonvanishing of $\zeta$ on $s=1+it$ by de la Vallee Poussin (?)). Mertens). Unless $\chi$ is real-valued this function will vanish at $s=1$ if $L(1,\chi)=0$. But one shows that $\log G(s)$ is a Dirichlet series with nonnegative coefficients and we get an immediate contradiction without any subtle lemmas. Again it shows that the real case is the hard one. For real $\chi$ then $G(s)=[\zeta(s)L(s,\chi)]^4$ G(s)=[\zeta(s)L(s,\chi)]^8$ while Ingham/Bateman would have us consider $[\zeta(s)L(s,\chi)]^2$. This leads us to the realization that for real $\chi$ we should look at $\zeta(s)L(s,\chi)$ which is the Dedekind zeta function of a quadratic field. (So if one is minded to prove the nonvanishing by showing that a Dedekind zeta function has a pole, quadratic fields suffice, and one needn't bother with cyclotomic fields).
But we can do more. Let $t$ be real and consider $$G_t(s)= \zeta(s)^6 L(s+it,\chi)^4 L(s-it,\overline\chi)^4 L(s+2it,\chi^2)L(s-2it,\overline\chi^2).$$ Unless both $t=0$ and $\chi$ is real, if $L(1+it,\chi)=0$ one gets a contradiction just as before. So the nonvanishing of any $L(s,\chi)$ on the line $1+it$ is easy except at $1$ for real $\chi$. This special case really does seem to be deeper!
Added (26/5/2010) The argument I outlined with the function $G_t(s)$ is well-known to extend to a proof for a zero-free region of the L-function to the left of the line $1+it$. At least it does when unless $t=0$ and $\chi$ is real-valued. In that case it breaks down and we get the phenomenon of the Siegel zero; the possible zero of $L(s,\chi)$ for $\chi$ real-valued, just to the left of $1$ on the real line. So the extra difficulty of proving $L(1,\chi)\ne0$ for $\chi$ real-valued is liked to the persistent intractability of showing that Siegel zeroes never exist.