Is it okay to mark well-known events as private?

Is it okay to mark well-known events (such as Update or OnCollisionEnter) as private? Are there situations where doing so is a bad idea?

This recently came up on the #unity3d irc channel.

According to NCarter:

If you have any inheritance going on, I recommend that you don't use private visibility for any of the event methods such as Update etc. Use at least protected, or public if that happens to be better. If you use private, it's easy to accidentally hide a base class implementation of the same method, which means that the engine may call either version as it sees fit.