switch выбирает по значению выражения (или по true для условий). select ждёт готовности одного из каналов: отправка/приём по каналам, возможно с default для неблокирующего выбора. В select case - только операции с каналами. Используется для мультиплексирования каналов и таймаутов.