A ideia do switch é essa mesma. Claro que colocar vários "digitalWrite" dentro de cada "case" não é a forma mais interessante de piscar o led X vezes. Mas a forma de usar o switch para o caso de cada contagem é essa mesma. Claro, dentro de cada "case" você executa tudo o que precisa, até chegar no break. a última coisa que você faz é contador = 0; . Isso "limpa" a variável contador e permite nova contagem.