Maybe some $options to pass to the assemble() function of the route?
This is hard-coded into the route. For example, the segment route urlencode()s all parameters during assembly . In a discussion with Ben Scholtzen (DASPRiD) in May he indicated that optional urlencoding of route parts will not be a feature of (at least) the segment route.
If you keep slashes this way, you get problems because segments later in that route and child routes cannot be matched correctly anymore. Therefore it is always a last route part (and thus I called it "CatchAll").
I have had a similar issue for ensemble and I solved this with a custom route  which I appended as child_route to my route requiring this feature . Hope that might help.
PS. I see you have a route segment called "route". If you want to have a sub part that matches in a second router, check EnsembleAdmin where I have done the same thing. This might give you a kickstart when you try to combine the CatchAll route with a second router: https://github.com/ensemble/EnsembleAdmin