Как правильно организовать выполнение Procces.Start?
Тут просто парочка команд, но если их будет больше то выйдет говнокод с кучей if. Через switch думаю будет тоже самое.
Согласен.
Этот вариант (со словарём) самый оптимальный). 
И у него есть бонус команды можно добавлять и удалять в рантайме.
Ну это зависит от степени вашей "больной" фантазии. Можно придумать ещё больше абстрактные вещи. Например, через рефлексию получать все открытые методы некого класса и транслировать команду в имя метода, что бы заинвокнуть его.