Of all the issues identified so far, reverts strike me as the most significant. You revert vandalism, you don't want to have to re-apply sighting. This happens right now both on manual and automatic reverts.
We're already applying sighting automatically when the user is in the editor group and the current version is sighted. How about also doing so if the current version is not sighted, _and_ the text of the submission is identical to the text of the most recently sighted revision?
There would be some performance hit due to the comparison, but hopefully it wouldn't be too bad as it would only kick in on reverts. Is the basic idea sound? Is there a simpler way?