I've actually got two methods I use, depending on if I'm using my phone or laptop.
This method is used in several places—the most notable ones I've seen it in include NJStar's built-in kanji dictionary and Jim Breen's KANJIDIC search on the Monash University website. I primarily use it for looking up characters I don't know when I'm on my phone, using an app formerly called Kotoba! (which, for some stupid reason, later decided to change its name to "i-mi-wa?").
As the name implies, this method is pretty straightforward. You're presented a table with the 214 Kang Xi radicals (and, often, several variants of certain ones). Whereas a traditional dictionary would require you to look up by the official radical for a character, these dictionaries have indexed all the kanji so that any radical that appears as a component in the character can be selected; hence you can build the character from the elements you can identify and then select from there. More advanced implementations even let you filter by the stroke count of the character you're searching for to help eliminate junk results.
Searching Related Characters Using Kotoeri
On my laptop, Apple's Kotoeri IME has an awesome feature built in where you can type a character and then find similar ones from there by selecting it and hitting either Ctrl+1 ("Convert to Related Character") or Ctrl+2 ("Search Similar Kanji").
So, for example, if I type in 照 and hit Ctrl+1 (Related Characters), it offers me the following:
In this case, a very obscure character which, according to EDICT, is an 異体字 for 照, and therefore has all the same readings.
If we try 人, we get something else rather interesting:
Instead of variant characters, per se, it produces the standalone radical forms (にんべん, ひとやね, etc.). This combines with the next trick (Ctrl+2 = "Search Similar Kanji") to make looking up obscure characters a breeze at times.
The great thing about the Search Similar Kanji function is that it doesn't have to search based on just one character at a time—you can select several at once and it will attempt to find a character that combines them.
So, let's say that I'm a beginning Japanese student, and saw the character 他, but didn't know how to write it. I do know 地, however. What I can do then is do a search similar on 地, which offers the following:
垣 垤 坦 也 蟯 基 培 場 涅 蛙 澆 曉 (and so on—about 40-50 characters total are suggested)
Fourth character in the list I spot 也, which happens to be the element I'm looking for. Using the trick above to get 亻, I then select both and have it do a search based on 亻也, which produces:
他 但 侄 估 倛 倍 俍 位 蓓 (and so on again, for about 40 options or so)
As you can see, the obvious option came out on top, and then it tries other less-obvious ones from there. Also of note is that it does allow you to use katakana as part of a search (e.g. リ instead of 刂).
Admittedly, at times it can feel like it gets hooked on the part you're not interested in (it tends to prioritize variants based on the same radical first before offering the other parts of a character separately), however with a little bit of patience it's very rare to find a character that this system won't handle.