The eternal question.
Me? I prefer subs. Japanese voices capture a certain anime essence that nearly no English dub can. For instances, the girls in Japanese sound very different from their English dubs. It's extremely difficult to replicate the essence of the Japanese language, especially with the limited dubbers to choose from (I notice a lot of recurring dubbers).
For instance, when Lelouch in Code Geass shouts, "I, Lelouch Lamperouge, command you to die," in Japanese, it captures a powerful, sonorous voice that the English version completely neglects.