You can use that option, and opt to always have VoiceAttack send the keypress:
E.G.
remap VBegin Text Compare : [pressForV] Has Not Been Set
Set Text [pressForV] to 'V'
End Condition
Press down variable key(s) [pressForV]
Start Loop While : Keyboard Key 'V' Is Pressed
End Loop
Release variable key(s) [pressForV]
With a companion command
swap controls [back;];default controlsBegin Text Compare : [{CMD}] Equals 'swap controls'
Set Text [pressForV] to 'E'
Else
Set Text [pressForV] to 'V'
End Condition
However, this doesn't so much "swap" the keys as have two send the same thing(E.G. pressing either "V" or "E" would send "e").
As this is intended for a game, it shouldn't be an issue, but it's worth noting that text input won't autorepeat(E.G. if you hold "V" in notepad, it'll type either a single "v" or a single "e").
If you really do need a swap(and don't want to add commands for all the keyboard keys you may want to use), while you could theoretically use the "Block Keyboard Input" action to do that dynamically, and have a command looping in the background, the simpler method is to use
AutoHotKey to do the swapping, and have VoiceAttack launch or stop the appropriate script.
E.G.
Begin Text Compare : [{CMD}] Equals 'swap controls'
Run application 'C:\Program Files\AutoHotkey\AutoHotkey.exe' -with parameters '"{VA_APPS}\keySwappingProfiles\VtoE.ahk"'
Else
Press F24 key and hold for 0,06 seconds and release
End Condition
Where "VtoE.ahk" contains
#SingleInstance ignore
#MaxHotkeysPerInterval 200
F24::ExitApp
v::e
e::v
This will swap "V" and "E" around, allow you to press the key rapidly without AutoHotKey warning you(which is a safety feature, in case a script goes off the rails), and discard any new instance of the script(in case you run "swap controls" twice).
F24(some keyboards used to have F13 to F24 in addition to F1 to F12, but this is no longer physically present on modern keyboards, which means it can be used without interfering with actual user input) is used to enable terminating that specific AutoHotKey script, while leaving any others running; If you don't need that you could terminate the "AutoHotKey" process instead.
As this allows you to specify many keys to swap, you can use each script as a profile, and start the appropriate one with a voice command when you need it(while terminating the running one, if any).