日本語識別子が強力な場面は,
- ユニットテストの関数名で使う
→関数名が結果として出てくるので,結果を読みやすい。
- 業務系の専用用語で使う
→該当する英単語がなかったり,あっても平易でないために対訳表引かないと元の言葉がわからない状況ならば,日本語識別子でいいと思う
といった感じでしょうか。
一度実務で日本語クラス名・メソッド名を使うプロジェクトも経験しています (VC#.NET 2003/VS.NET 2003使用)。
慣れれば日本語クラス名やメソッド名は抵抗なく使えますが,効率がよくなることも悪くなることもあまりなかったです。
ただし,C#で強力な数文字入力→インテリセンスから選択,という方法が使いにくいというデメリットもありましたし,
何より外部のユーティリティ (当時のResharper等) が対応していなかったりすることもありました。
濫用は問題ですが,使い所を間違えなければ便利だと思いますよ。