I've been trying to find a good corner orientation proof that will work for many different things (cubes, megaminx, pentultimate...) but I haven't found any luck yet. The best one I know is pretty much what cmhardw said, the proof where you setup a way of measuring orientation and prove that you can't change the sum-of-twists-mod-3, but as you might imagine that is pretty cumbersome to expand to other puzzles.
If you temporarily switch to a nicer orientation scheme for the duration of the turn, the proof generalizes rather easily.
In the picture below, the top-right cube shows the usual reference orientations. The red arrows are the reference orientations for the
places, these stay fixed. The blue circles are the reference orientations for the
pieces, these get moved around when turning. The green numbers tell us how far the pieces are (mis)oriented, i.e., how far the blue circles are turned from the red arrows. That's a solved cube and we want to call a solved cube fully correctly oriented, so the arrows and circles all match, the numbers are all zero, and the orientation sum is 0. The goal of the proof is to show that it *always* is 0 (modulo 3).
But let's not use this standard orientation scheme. Let's instead use the one on the top left cube, with just UFR having a different reference orientation. Why? Cause I'm a rebel. And, more importantly, because it illustrates the whole thing better.
Then do an F turn. This moves blue circles around and the green numbers change accordingly. This step is just to get to an unsolved cube, again just to illustrate things better. But note that while the green orientation numbers change, the orientation sum modulo 3 (os%3) doesn't change.
Now... instead of doing an R turn just as quickly, let us look at it differently. For the duration of the turn, let us temporarily switch to a different orientation scheme, where the red reference orientation arrows on the right layer point to the right. This of course also changes the green numbers, as the red arrows move relative to the blue circles. And the os%3 changes accordingly (+2 here). However, and this is important, these
changes in numbers only depend on how the two orientation scheme differ, how their red arrow directions differ. It is independent of the actual cube state, i.e., where the blue circles are and what the green numbers are.
In the new orientation scheme, the R turn's effect on the orientation numbers is easy to analyze. The green numbers are just moved around, they move with the pieces but don't change, they just end up at other places. What was 0122 before is 2012 now. Of course, the os%3 doesn't change either, then.
After the turn, we switch back to the main orientation scheme. As before, this changes the orientation numbers and the sum. Also as before, this does not depend on the actual state, the
changes only depend on the difference of the two orientation schemes. Thus, the original os%3 of +2 is reversed, it gets -2 now.
So... overall, instead of directly analyzing the R turn, we did three substeps. The first and third each changed the os%3, but cancel. And the second doesn't change it. So overall, the os%3 didn't change. I hope it is clear that this applies not just to my slightly non-standard orientation scheme (with just an unusual URF) but also to arbitrary others. And also applies to other puzzles, e.g., megaminx. And also applies to edges, not just corners. Just think of using any arbitrary main orientation scheme to define orientations, and for each turn temporarily switching to another scheme where the red arrows all point in the same direction of the layer so that the actual turn just moves the green orientation numbers around without changing them.