I always opt to type as little as possible when coding while still maintaining readability, which is why I adopted the method to always put the - at the end of a character class and forget about escaping.
But indeed, if the hyphen is either at the start or the end of the character class you don’t have to escape it, if it’s anywhere else you must. I suppose that as a rule of thumb it might be good to do it.
Also, not all regex engines will necessarily recognize unescaped hyphens, so best to get in the habit of escaping them, just so you don’t go bonkers if you encounter an engine that doesn’t handle less explicit formatting.
I’m all for simplicity in proprietary systems, but when using open standards like regex, SQL, etc., I try to use what’s most cross-system compatible.