The OEM switch is around $30, but as mentioned, it is a poor design. A pain to mount, and a bigger pain to use. 70 Degree Racing makes a nicer switch, but it is around $60.
I plan on cutting the rotary switch off my OEM unit in order to use the connector that plugs into the harness. I will then buy a 3 position switch from Radio Shack and a few resisters and build my own switch. There is another thread in this forum with the details on how to make the switch. It uses a blinker (indicator) switch, but I don't have one of those, so I will just use a Radio Shack switch. Then I just need to figure out where to mount it - along with the grip heater switch and keyed kill switch that I also want to add.