One of the better ways is make you own osnap combo's so switch quickly when needed, this is done by making some simple lisp defuns 1 for each osnap setting, ok now when you set osnaps it stores only 1 number not multiple ticks, so just set your osnaps then type osmode, look at the number, change your osnaps, type osmode again look at number.
Ok now code.
Code:
(defun C:15 ()(setvar "osmode" 15359)) ; sets all snaps on
(defun C:47 ()(setvar "osmode" 47)(setvar "AUNITS" 0))
(defun C:99 ()(setvar "osmode" 99))
(defun C:8 ()(setvar "osmode" 8))
(defun C:59 ()(setvar "osmode" 15359))
(defun C:9 ()(setvar "osmode" 9))
(defun C:0 ()(setvar "osmode" 0)) ; snaps off
This example uses numbers but you could use 01, snap1 and so on.
In some command you can call the osnap transparently resetting osnaps on the fly rather than mouse right click.
Line '47 pickpoint pickpoint
Note the ' single quote for transparent command.