Let me try answer your questions the best of my ability and knowledge : )
1) Is it recommended to upgrade from clish, or cpuse or both are the same? Its RECOMMENDED via cpuse. Its possible via clish, but I dont know anyone that does it that way these days.
2) Is it better to upgrade the SMS before the gateways? Thats ALWAYS a must. Otherwise, if you do it the other way around, you cant manage the gateways via server before they are on at least same version.
3) Is the "snapshot" the best backup option in case of upgrade or there is a better option? for both Gws and SMS. You can take snapshot, but backup is enough. If you really want to be safe, take both.
4) What's the difference between blink/clean install and upgrade, and which one I should install if am planning to install the latest HF? Difference is this...think about it if you were to upgrade your home router...it just gets new firmware and if you do clean install, it installs blank version with no config at all. As far as latest HFA, that is checked automatically after upgrade.
I had done upgrade many times, so be free to message me privately if you have any concerns or other questions and I am happy to help you.
Cheers and be safe!