Is it possible to make this more interactive, so a trip to a menu isn't needed for each bone?
What if holding down a control key while you moved the bone would make it snap to whatever bone the cursor is nearest? Sort of like moving points in "snap to grid"; the CP follows the cursor and jumps to whatever grid point the cursor is nearest.
I also think people were wanting to be able to snap the end of the bone. If the dragging scenario were available you could use it for both the origin and endpoints.