Do you know this interpreter ? (in D)
https://github.com/higgsjs/Higgs
It's one of the most advanced I found (outside browsers).
If you want to get rid of the "switch/case", you can look at threaded code interpreters.
http://www.complang.tuwien.ac.at/forth/threaded-code.html
You can find useful ressources in Forth about it.
I write a stack-based language in javascript. Each statement is a closure around the arguments of the expression stored in a flat array. The instruction pointer is an index in that array. It is partially compiled.
I also use function object constructor for a kind of FFI.
There is also good potential with asm.js to reach near-native performances.