How do I fix this Pinch-like effect on such model with Subsurf modifier turned on? How do make it so the area in the circle is not punched, and does not look distorted from certain angles?
Just a slight change in topology fixes a lot of it: 

(yours in blue, mine green)


Get the pole, (the 5-pointed vertex) off the angled edge, and on to a safe flat area, where it doesn't affect normal interpolation.
Put a holding loop in the front-to-back axis, and another loop on the flat, around the frame
Spread the curve-defining loops either side of the corner more evenly - in this case, they work better straightened out, I think.




When cutting sharp concave insets, corners, the secondary holding loops at a little distance, (like the one furthest to the left in the green topology) become quite important to keep the frame edges straight, and prevent new Catmull-Clark generated faces derived from large faces close to the corner 'leapfrogging': cutting the corner ahead of faces closer to it.

Maybe further improvements could be made by adding  a couple of edge loops to isolate the frame from the flat on the front.. (you could afford the polygons, I also reduced the Subdiv. from 5 to 2. :)



GG to slide a loop, followed by E to make the loop parallel to the next loop on one side, and F to flip which side, is a very quick way to straighten existing loops, try out variations, as is K (knife) followed by C constrain to one of the 45 degree angles , followed by Z to cut through the object: also handy when making repairs like this.