Deformations when using subdivision surface
I think here are the main problems with your mesh:


You need to create some edge loops close to the angles if you want them to be sharp.
You have a lot of inside faces. Select them and delete.
Try to avoid triangles, use the Knife tool to create quads: K to activate, Z to cut through the mesh.