Xがconstなら、そもそもswitchになんぞ入れない。
Xを再利用するならXのコピーを作る。
各処理を関数化するか否か迷う程度の大きさなら、
変数増やしてもさほど可読性は落ちないだろうし。

共通処理が1つでなく、組み合わせが多ければ>>534と書くけど、
switchは別々の関数に分ける。