Another reason to run sshd on a different port is that sometimes tcp/22 (indeed sometimes all tcp ports except 53, 80 and 443) are firewalled off. I have experienced this with free wifi on a few occasions. Running sshd on port 443 usually makes it possible to connect in this situation.