Found out about scselect yesterday from here. A couple of minutes effort on the train and I now can change from a shell without having to mouse up to the apple menu.
zsh++
## ## _scselect -- Completion for OS X Network Location utility ## _scselect () { local locs locs=( $( scselect |& \ perl -lne 'next if/^\S/;/\(([^)]+)\)/&&print qq{"$1"}' ) ) _arguments -C "*:Network Location Set:($locs)" }