Make the camera position be physically simulated. Give the camera a mass, and a maximum amount of force that can be applied per step to change its acceleration (and thus, its velocity, and thus, its position.)
You’ll want to have the camera control logic “chase” some desired position, and go faster the further it is from that position, BUT start slowing down once the velocity times some look-ahead time gets close to (or overshoots) the desired location. Tuning this lookahead, and the force amount by distance, is a black art, similar to tuning PID controllers in more actually-physical systems. It’s not HARD but you have to actually try a bunch of things, then iterate, and then test it in a bunch of cases that break, and iterate some more.
You’ll also want some safety hatch, where the camera can teleport if it’s TOO far away from wherever it wants to be.
Once you have this, the “desired location” will still be determined by the line traces, but the movement will be naturally smoothed by the inertia.
If you still want something even smoother, then you need to build separate collision geometry that’s smooth, and only used by the camera, for the line traces.