To my surprise we never got around to implementing the use of expr="...." attributes on nodes within a <switch> element, to do dynamic selection of a single subtree to play.</switch>
So, an example such as http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-state.html#StateNS-StateTest-Examples will not work in Ambulant.
Implementing this isn't hard, but it isn't trivial either. Right now switch is parse-time only, but for dynamic switch behaviour we'd need a time_node for dynamic switch elements, which would have to evaluate the conditions (expr and otherwise) on its children to decide which one to execute.