I think sub is superior because it retains the original voice acting. Voice actors are cast for a reason because that is how the creators of the anime intend for the characters to sound. Even though you are absolutely correct in there being good and bad subtitles, they still retain a degree of quality translation does not.
Another good reason is that Japanese is vastly different from English. Sometimes in order to fit the timeframe the dialog is altered. Or the English translation is spoken very fast. Altering the work from how it was originally presented makes it unnatural.