I'm surprised it's slow. In my case it returned 541 viaDefs pretty much instantaneously. You can reduce the number it returns by giving the constraint group you're interested in - for example:
If you want to get all of them, you can also do:
but I'd be surprised if this was any different in speed to lxGetValidViaDefs (I didn't check to see if lxGetValidViaDefs is doing anything else when given a techId).