The other day I was talking to someone who is learning Spanish, and she said, amid an expression, "en favor o a contra", instead of "a favor o en contra". After correcting her, she asked me why the custom of using "a" and "en" in one way and not the other, and why not using the same in both. I could not reply.

I have had a hard time finding explanations for this. Google has not yield anything satisfactory. Any of you have any idea? 

Obviously, "en contra" sound better than "a contra", because we are used to it. However, expressions like "a contracorriente" might indicate that "a contra" is actually reasonable. 

Likewise, "a favor" sound better than "en favor", but I see no *a priori* reason why the latter is grammatically incorrect.