Well to be fair, I do use fallthrough in so far as I group cases that are the exact same, but fall-through with slightly different logic is very bug prone and difficult to spot when it is deliberate or an accident, so I basically never use it.
Perhaps some languages conventions are different, but for example Douglas Crockford on JS:
> "switch Statement
A switch statement should be avoided, but when used should have this form:
switch (expression) {
case expression:
statements
default:
statements
}
Each case is aligned with the switch. This avoids over-indentation. A case label is not a statement, and should not be indented like one.Each group of statements (except the default) should end with break, return, or throw. Do not fall through."