I am using the Yeti USB microphone, and it always reconfigures my default sink.
Since I have a pulseaudio based setup I wrote a simple prompt_toolkit cli that helps me choose my default source and sink.
This project is licensed under the GPL-3 license.