If none of the suggestions work you might consider ET Geo Wizards.
There are many free functions however the PGSW is not free.
There is a function...
Polygon Global Snap Wizard
Snaps the features of a polygon layer to another layer (Point, Polyline or Polygon)
A polygon layer to be snapped
A snap layer - point, polyline or polygon
A polygon feature class - the vertices from the source layer will be moved to snap to the features of the Snap Layer (if within the snap tolerances
Options (Snap to What):
Vertices: The vertices of the polygons will be snapped to the nearest vertex of the nearest feature from the Snap layer
Nearest edge: The vertices will be snapped to the nearest point of the nearest feature from the Snap layer
Vertices & Edges: If there is a vertex closer than the snap tolerance to a vertex of the polygon to be snapped, the point will snap to it, otherwise it will snap to the nearest edge.
An option for snapping selected features only is available. The resulting dataset will contain all the features of the original layer. Only currently selected features will be used for snapping and eventually snapped.
The snap distance should be in the units of the Data Frame
The Source and the Snap datasets can have different spatial references as long as the Data Frame has assigned projection and the Geographic Coordinate systems of all the projections are the same.
There is no option to insert vertices into the polygons to be snapped as the one available in the Polyline Snap Wizard . This due to the fact that two adjacent polygons (that share a common boundary) might be densified differently and when snapped to result in gaps or overlaps. The following procedure can be used in order to achieve better snapping:
Convert the polygons to polylines
Clean the resulting polyline dataset
Snap the resulting polyline dataset using the Insert Vertices option
Build Polygons from the polylines
Option: Nearest Edge
Option: Vertices & Edges