I don't know the details, but there are a variety of routing mechanisms that have been tried. One goal is to load balance tokens among the experts so that each expert's parameters are equally utilized, which it seems must sometimes conflict with wanting to route to an expert based on the token itself.
From the outside and if we squint a bit; this looks a lot like an inverted attention mechanism where the token attends to the experts.