I've never had much luck cleaning up contours as linework. Any attempt to fix the vectors manually has been extremely time consuming and automatic methods like Smooth Line either do not enough or lead to intersections - especially the BEZIER_INTERPOLATION.
The best way I have found to produce good contours is to go back to a terrain/TIN using the contours as an elevation source, rasterize to a fairly small cell size, resample using bilinear or cubic to a slightly larger cell then resample back to the original cell size and generate new contours - either by Contour(SA) or Contour(3d).
Resampling up and down acts to smooth the raster. Of course the contours will be radically different to the original contours and will definitely not show the cuts with such detail but the result contours will be much more cartographically pleasing, and as a bonus most of this can be done in a model or manually in just a few hours rather than spending days fixing topology errors.