My purpose

I made the following modeling to make parts for the robot’s tilt arm.

What I tried

I first used the Surface subdivision modifier to express softness and curves. However, using this modifier with the Bevel modifier does not produce the results I want. In more detail, after applying the Surface sudivision modifier, it is difficult to express the slope and sharpness of the edges, using Bevel Weight and Crease. Thus I found out that, for the slope and sharpness of the complexly constructed edges, there was a function called Auto Smooth, partly by looking for an easy way to apply softness.

With ‘Auto Smooth’ function, it was easy to apply soft effect while maintaining sharpness of each edges. And using the Weighted Normal modifier, it formed a more realistic surface (I still don't understand the Weight normal).

Point

Most of them have been resolved, but unlike Surface Subdivision, Auto Smooth does not soften to the outlines.

The outline is not smooth and still angular.

• I know that Auto Smooth function does not actually make the surface smooth, it only makes light rendering smooth. However, if I render later, if the outline fails to come out smoothly, I can't make a realistic rendering.
• Also, I think it difficult to maintain the model in the future to
divide Surface from the beginning of the modeling.

Q. Excluding the above concerns, is there a way to smooth the outline?

You need to do two things.

2. Add the Subdivision Modifier to "smooth the outline"

(There's no need for the Weighted Normal modifier.)

Note:
Most of your problems are caused by n-gons.

Edit:
To keep your corners sharp, add more geometry manually, without the Subdivision modifier.