Setting the x keymap directly using the command line is by far my preferred way of dealing with keymaps, and it's very disto-agnostic, so any solution you come up with will stand you in good stead.
setxkbmap -print | xkbcomp -xkb -o original.xkb -
this will make a backup of your original keymap. Then do
cp original.xkb switch-CAPS-LCTL.xkb
Now edit switch-CAPS-LCTL and find the lines that read
<CAPS> = ??;
<LCTL> = ??;
where ?? is a number. On mine, these are two digit numbers, 66 and 37 respectively. Just switch them around and you're done.
xkbcomp switch-CAPS-LCTL.xkb $DISPLAY
switches the layout, and
xkbcomp original.xkb $DISPLAY
will restore the old configuration.
If you are going to be using these two keymaps concurrently, for maximum user-friendliness, just make two aliases to handle these keymap changes, and plop the keymaps into a hidden directory like
mv original.xkb switch-CAPS-LCTL.xkb ~/.stuff
Add the following to ~/.bashrc:
alias capswitch="xkbcomp ~/.stuff/switch-CAPS-LCTL.xkb $DISPLAY"
alias ctrlswitch="xkbcomp ~/.stuff/original.xkb $DISPLAY"
if you want the changes to take effect immediately, typing
ctrlswitch to change the keymap.