I couldn't get switch to output any default last week either although it works in the template without chunks for different TV's. I'm gonna try again later.
What happens if you don't use chunks, but rather the chunk code itself?
It's a little unclear what &get=`2` is, but I think you may need to issue the call here instead of using 2.
&get=`[[getResources? &resources =`11` &tpl=`yourTpl` &includeTVs=`1` &processTVs=`1` &tvPrefix=``]]
`
OR
[[Wayfinder? &startId=`[[*id]]`...]]
You can use the If snippet, or just plain conditionals. below [[*2]] would be your TV name, not 2. It also assumes *2 can be empty.
[[If? &subject=`[[*2]]` &operator=`EQ` &operand=`2` &then=`[[$menuA]]`]]
[[If? &subject=`[[*2]]` &operator=`EQ` &operand=`3` &then=`[[$menuB]]`]]
[[If? &subject=`[[*2]]` &operator=`EQ` &operand=4` &then=`[[$menuC]]`]]
[[If? &subject=`[[*2]]` &operator=`` &then=`[[$menuD]]`]]
Conditionals:
[[*2:is=`2`:then=`[[$menuA]]`:else=``]]
[[*2:is=`3`:then=`[[$menuB]]`:else=``]]
[[*2:is=`4`:then=`[[$menuC]]`:else=``]]
[[*2:is=``:then=`[[$menuD]]`:else=``]]
I might also try it with the default set to menuD, and omit the last conditional above. Not sure which is best, would have to test it.
[[*2:is=`2`:then=`[[$menuA]]`:else=`[[$menuD]]`]]
Now, with all that said, there's a lot of parsing going on there. For such conditionals, read this first.
http://modx.com/blog/2012/09/14/tags-as-the-result-or-how-conditionals-are-like-mosquitoes/
It states that the above conditionals should actually be written like this so that MODX doesn't have to parse everything just to get to the conditional bit (haven't gotten it working yet myself, play with it?):
[[[[*2:is=`3`:then=`$menuB`:else=`&menuD`]]]]