I was wondering if there's a protocol to unaccept answers and what this shall be. Do you need to explain why you unaccept an answer? Provide more details?
Users are encouraged to accept the best answer, but it is not a requirement that the accept an answer, nor that they accept the one that the community thinks is the best.
In a similar manner, it is permissible for a user to change their mind as to what the best answer is. This can happen for a variety of reasons.
There is no official or unofficial etiquette for this, as it is very situation dependent, and often may not make sense as time goes by. Comments may be appropriate in this case, but may not be.
In my opinion as a user of the site (and not as a diamond moderator), it is a good idea to leave a comment as to why an answer was unaccepted.
There isn't a protocol for changing an accepted answer, which is supposed to be the one that helped the OP more than others. That is true also in the case a more complete and detailed answer is added after an answer has been already accepted.
As per leaving a comment on the previously accepted answer, I would say do it if you are going to point out something wrong or not completely exact in the answer, or to give relevant links. The purpose of comments on Stack Exchange is not thanking, or apologizing for unaccepting an answer.