Cut a circular hole in a curved surface (using snap to face)
You want the "use_snap_project" feature:



If you turn that on, while snapping is enabled you'll get all selected components projecting onto other objects.