And on the other hand, sometimes he gets those "flashes of inspiration" about what Moriarty's up to, for which he then backconstructs a preposterous sequence of reasoning from clues. He's otherwise a genuinely competent detective, and not all of his cases involve his alter ego, so this goes unnoticed.
Watson, meanwhile, has no such troubles and is perfectly aware of what's happening. He just switches to being Colonel Moran whenever it's required of him. And he manipulates Holmes/Moriarty relentlessly.
His general guideline is that when Moriarty plots something profitable but largely harmless, he sabotages Holmes. And when Moriarty plots something pointless, dangerous, unprofitable, overly visible or harmful, he sabotages Moriarty and helps Holmes have his little "moments of inspiration" that foil his own plots.
Watson isn't exactly evil, just very selfish. Any plot of Moriarty's that involves serious harm does get squashed, both for moral reasons and because he wants to keep the whole setup on an even kilter.
Unsurprisingly, he completely despises Holmes. He considers this good/evil self-separation a sign of moral and mental weakness, but at the same time he knows that Holmes is otherwise much more competent than he is. So one day he'll have him committed to an institution, or perhaps caught as "Moriarty" and killed. And then Watson will retire in style. He just has to keep ahead of Holmes for now, and of everyone else.