Smoothing doesn't work on all edges
have you tried to merge vertices or to recalculate the normals?

First go to edit mode and select all vertices by pressing A.

To merge vertices, press Mesh -> Clean Up -> Merge by Distance.

This merges Vertices whose distance is below an adjustable treshold. If two Vertices are stacked on each other, smooth shading still works, but it interpolates the normals between these two points and so it looks like a hard edge.

To recalculate the Normals, press Mesh -> Normals -> Recalculate Outside or use the shortcut Shift-N.

This fixes the problem, that two faces might face in opposite directions an so blender is not able to interpolate between them.