Currently the switch component markup has been implemented using a combination of <div> and <span> elements. It would be more semantic to use a <button> element instead. This would provide native support for things like disabling, and input handling.
Switches are used for boolean adjusters in the prefs framework adjusters. (e.g. table of contents).