Is there any good way to snap to intersection?
There is an addon called dynamic spacebar menu which contains a small routine that can snap the 3d cursor to the intersection of two edges, it's available in addons contrib. Here is the direct link to the wiki page for it with a download.



After enabling the addon when you hit space a different menu will appear, you will see snap cursor menu, and inside that cursor to edge intersection

If the intersection of the two edges doesn't lie exactly on either of the two edges, then the edges are considered lines with infinite length. When two lines aren't parallel and don't truly intersect you can imagine another line drawn between these two lines at the point where they are closest to each other. The point in space halfway on the imagined line will be returned as the intersection.