As we know braces for switch cases are not necessary. Using braces cases may cause a confusion about the scope of a case.
An opening brace is generally associated with something meaningful like a start of a function or start of a loop or start of class declaration or start of array initialization etc...We know that, a case breaks out of switch block when it encounters a break statement. Thus using curly braces seems to imply idea of a different scope for case to an ignorant reader. So, its better to avoid using curly braces for the sake of better programming readability.
i.e. When I have something like,
switch(i)
{
case 1 :
{
//do something
}
System.out.println("Hello from 1");
case 2:
....
}
"Hello from 1" gets printed. But use of curly brace may suggest an ignorant reader that the case ends with '}', already knowing what curly braces generally signify in case of loops, methods etc.
Like we have jump-to-label statements in 'C' the control just shifts to case and continues it's execution. So, with that understanding it's just a BAD practice to use curly braces when writing cases for switch.
Technically speaking you can surround any block of your code with an additional pair of curly braces when used with valid syntax. Using braces in switch looks so bad at least to me as it seems to give a different feel like I have said above.
My suggestion : Just avoid using surrounding braces for switch cases.