The documentation currently states:
"Evaluates, in the order specified, Boolean_expression for each WHEN clause."
Due to at least two different known and confirmed bugs, current versions of SQL Server do not *always* follow this behavior *in all cases.* Meaning that in certain scenarios, the n+1th argument of a case expression may be evaluated even if the nth argument evaluates to true. While this behavior may be corrected in future versions of SQL Server, it can't be 100% relied on today. Note that this can also apply to certain COALESCE scenarios as well (which get expanded to CASE expressions), so it's not necessarily the case that you can always rely on COALESCE to short circuit, for much the same reasons.
Before you rely on this left-to-right short-circuiting, please read all of the discussion at the following links:
http://stackoverflow.com/questions/7473045/does-sql-server-read-all-of-a-coalesce-function-even-if-the-first-argument-is-not
http://bartduncansql.wordpress.com/2011/03/03/dont-depend-on-expression-short-circuiting-in-t-sql-not-even-with-case/
http://connect.microsoft.com/SQLServer/feedback/details/649957/