個人的には視認性やタイポ性の不利だと思っていたが、そうではないみたい。
アンダースコアは識別子として有効だ. “CSS2で識別子に使える文字は [A-Za-z0-9] とISO 10646の161以上、そしてハイフン(-)だ”が次のように変更された。
https://www.d-toybox.com/spec/CSS2.1/appendixC/#q30
– CSS2で識別子に使える文字は [A-Za-z0-9] とISO 10646の161以上、 そしてハイフン(-)とアンダースコア(_)だ
とあるように、CSS2の勧告当時(1998年5月)では「_」はクラス名に認められていなかったかららしい。