The best method I think is the one I use
You need your 3DS on 9.0 or 9.2 though so I guess most people here can't use that anymore.
So basically, in 9.0-9.2, all exploits are available. So just use browserhax to install themehax and now at every boot, you can choose between your "normal" 3DS menu or the homebrew launcher, depending on the state (pressed or not) of a key you configured while setting up themehax.
Ok, but what if you want to play Triforce Heroes, which requires a 9.9+ firmware ?
Well, just set themehax to run autoboot instead of the homebrew launcher, and configure autoboot to give you the choice between the homebrew launcher and an emuNAND booting method. That emuNAND will be up to date and won't support homebrew but you don't care since your sysNAND does.
Summary of the result: now, everytime I boot my 3DS, I see a menu that gives me the choice between a "normal" 3DS menu and the homebrew launcher. So my vote goes to Browser and HomeMenu.