As mentioned in the comments, Alsa doesn't seem to be able to transparently change running programs from one playback device to another, as this is a feature specific to PulseAudio. Moreover, selecting a device in an Alsa mixer will only define which mixer controls are shown within the mixer, and it has no bearing on the default sound card used by media players.
There is a minimalistic python GUI that allows to detect plugged-in USB DACs and set the default playback device for new programs: asouncdconf-gtk (originally written for Ubuntu with Xfce in mind). This utility relies on the asoundconf python script. Even if unmaintained for a number of years (last update in 2011), it seems to still be working alright on modern distros (e.g. Ubuntu 14.04).

Ubuntu users can install the packages from the asoundconf PPA (officially Ubuntu has decent support only for PulseAudio). For Arch Linux see Is there an easy way to switch playback soundcards?. But since it's Python code, it can run virtually on any distro: grab the Ubuntu .deb, unpack it with an archive manager, and put the scripts in /usr/bin.
Alsa's official docs only indicate a manual way to set a default soundcard:
Find the relevant card:
cat /proc/asound/cards
and then put in /etc/asound.conf:
defaults.pcm.card 1
defaults.ctl.card 1
Replacing "1" with the number of the relevant card. Hardly something you would want to do often, e.g. with a USB DAC.
Additional reading: