How to snap a part of a mesh into a part of another in Blender?
This script only work on meshes with no rotation or scaling though.

import bpy
from mathutils import Vector
objAct = bpy.context.object
objsSel = bpy.context.selected_objects
midptAct = Vector((0, 0, 0))

# Calculate mid-point of selected vertices of the active object
for v in objAct.data.vertices:
    if v.select:
        midptAct += v.co
midptAct /= 4

# Calculate mid-point of selected vertices of the each selected object then move the object 
for obj in objsSel:
    if (objAct != obj): # since the active object is also inside the selected object list
        midptSel = Vector((0, 0, 0))
        for v in obj.data.vertices:
            if v.select:
                midptSel += v.co
        midptSel /= 4      
        obj.location = objAct.location - midptSel + midptAct # moving the selected object


Select the vertices you want to perform snapping in both mesh.

Select both mesh, and press Run Script, then the selected mesh will snap to the active mesh

Is this the snapping you are looking for?