This topic touches on quite remote areas of language use (human thought expressed by it), as I see it:
'to swear, to curse, curse, oath': all of them express the power of the magic word, even the magic power of word. One has to understand the function and the procedure of an (ancient) oath in order to be able to understand the difference of 'to swear at/on/by'.
Our starting point is the - for our secular eyes - astonishing double meaning of 'to swear': a) taking an oath, b) cursing. It seems that both meanings have had one point in common: uttering words to invoke heavenly consequences a) for oneself, b) against an adversary/enemy.
The oath was a means of confirming the truth, truth in itself or more often that of a statement or a position at court. It consisted in formulating one's side of the story and, as offered proof of its truth, cursing oneself (exposing oneself to harsh consequences for the hypothetical case one had lied).
The prepositions used (at/on, bei/auf) denote localizations, places of worship or holy objects, which could be / had to be touched to get into contact with the Holy, that Hi/She/It may directly strike the perjurer.
Given this, 'to swear BY xyz' indicates IMHO "directing the might of the word against so./sth. by invoking xyz's assistance/intervention" and could be smoothly rendered by "schwören bei".
To make a long story short: I second Ghol's objection to "glauben an" as meaning of 'to swear by' unless for a very unconscious use ('schwören auf' does not _express_ "to believe in, to address prayers to", showing this rather obscured implications only at a close examination given above). However, I admit that "schwören AUF" has developed a notion of 'relying upon' in daily speech, but would restrict that use to secular objects (medicine, car brand, even dictionaries <g>), with the implication of an assisting force still present.