Do not use tabs! Different text editors and other development tools will often interpret tabs to be a different size. The old standard says each tab stop is at 8*n+1. Some editors more geared towards documents use 5*n+1, to make each one an even half inch at standard spacing. Some editors meant for programmers will default to putting tab stops at every 3*n+1. Also frequently used is 4*n+1, and, in word-processing programs, every half inch regardless of number of characters. With all this lack of standardizing, it is impossible to guarantee that they will be interpreted as you intended, especially if actual spaces are sometimes used instead. Besides, disk space is now cheap enough that you don't need to save it by using tabs. They are permissible in any documents meant only to be handled by a specific word processing program, in which case the tab settings will generally be stored within the document itself. In all other cases, use only spaces!
Be consistent about how many characters' worth you indent, per level of control in a program. I personally use two in my private work. Most people believe this is too few, and debate rages over whether it should be three or four. When forced to choose between them, I prefer four, since it is half an old-standard tab stop.
There is debate over whether "case" identifiers in a C switch() statement get indented. Whichever you choose, be consistent! Personally, I usually do so.
This brings up the question of the code for each individual case. These should be indented, one level under the matched identifier. You may "outdent" the "break" or "return" to make matching easier, or not; either way, be consistent!
As you may have surmised, in all aspects of indenting, it is very important to