Snap selection to x-y component of 3D Cursor
I don't know of a way to snap directly to the 3D cursor itself. Usually you're snapping to a vertex. In your case you can use the preexisting vertex at the 3D cursor's location. Failing that, you can always set your pivot point to 3D cursor, duplicate any existing vertex, and scale it to 0. This will move it to the 3D cursor.
In Blender you can constrain most transformations to either a single axis, or to a plane, including when snapping. If you hit G for move, and then hit Y, you will only be able to move along the y-axis.
In your case, you want to prevent movement along the y-axis, so you would hit G, then SHIFT+Y. This will constrain movement to the x-z plane.
As for the snap tool itself, I usually recommend using the active element setting. This way you have more precise control over what is snapping to the target (the highlighted white vertex, instead of whichever vertex is closer.
Here is how I would solve your problem without even needing the 3D cursor:


Select the vertex that you want to line up to your target edge. This will set it as the active element.

Select the rest of the mesh that you want to move. You can either hit A to select all, or L to select only the contiguous parts of the mesh.

Hit G for move, then SHIFT+Y to constrain movement to the x-z plane.

Move your cursor to the vertex you want to snap to, and click.