I don't know why the documentation says to run chshwith sudo it is not needed.
I have never done that and I use zsh. I just tested it on VM. If I use sudo it does not change my shell, if I just use chsh -s /usr/bin/fish it will still prompt for my password but actually works.