O Java não força você a ter uma declaração 'padrão', mas é uma boa prática ter uma o tempo todo, mesmo que o código nunca possa ser alcançado (agora). Aqui estão alguns motivos:
Por ter uma cláusula padrão inacessível, você mostra ao leitor do seu código que você considerou os valores e sabe o que está fazendo. Você também permite alterações futuras, digamos, por exemplo: um novo valor de enum é adicionado, o comutador não deve ignorar silenciosamente o novo valor; você pode lançar uma exceção lá ou fazer outra coisa.
Para capturar um valor inesperado (caso você não esteja ativando uma enumeração) que é passado - pode ser maior ou menor do que o esperado, por exemplo.
Para lidar com ações 'padrão' - onde os comutadores são para comportamento especial. Por exemplo, uma variável pode ser declarada fora do comutador, mas não inicializada e cada caso a inicializa para algo diferente. O padrão, nesse caso, pode inicializá-lo para um valor padrão, para que o código imediatamente após a alternância não erro / lance uma exceção.
Mesmo que você decida não colocar nada no padrão (sem exceções, registros etc.), mesmo um comentário para dizer que você considerou o fato de que o padrão nunca ocorrerá pode ajudar na legibilidade do seu código; mas isso se resume à preferência pessoal.