Below is my ~/.asoundrc, which is working as desired. I can change the "pcm.!default" value, log out then back in, and it takes effect as desired.

How can I switch the profiles without logging out?

Code:
pcm.mono_right {
   type route
   slave.pcm  "cards.pcm.default"
   ttable.0.1 1
   ttable.1.1 1
 }

pcm.mono_left {
   type route
   slave.pcm  "cards.pcm.default"
   ttable.0.0 1
   ttable.1.0 1
 }

pcm.!default pcm.mono_right
#pcm.!default pcm.mono_left