Tips for faster free style (Front crawl) swimming:
Press the Buoy:
Your chest is full of buoyant air so if you can lean forward on it, you can literally push against that buoyancy and leverage it to move your legs higher in the water.
The simplest trick I know of for this one is to tuck your chin into you chest and feel like your neck is pulling via your spine to lift your legs up.
This can help with body position (primarily getting your legs higher in the water. You should get to the point, where if you are kicking lightly your ankles are coming out of the water.
Swing from your waist
When you hit a tennis ball with a racquet you do not swing with your arms, your whole upper body gets into is, same with swimming.
You should be twisting so that you almost swim sideways (in terms of your shoulders being up and down) as you stroke.
Best drill for this is use a kick board between your legs like a rudder, mostly sticking down into the water. This gives you leverage in your legs to twist against. Not a pull buoy which is about keeping your legs higher, but a flat board so you have something in the water to push against when you twist.
This lets you use your back muscles in the stroke not just your arms.
The hint for this is, if your upper arms are getting tired when swimming, pause and focus on form, since they are just along for the ride, it is your much much larger shoulder and back muscles that should be doing a lot of the work.
Be as long as you can be
Max speed is related to square root of water line length. (Which is why bigger ships are faster? It all seems goofy to me).
Try this, stand next to a wall, arm over your head at your side, hand on the wall. Then twist your shoulders, and watch where your hand goes, it slides up higher, you just got longer.
So on every stroke you strive to be as long as possible. Since from the previous hint you are twisting on each stroke, you are making yourself as long as possible.
I feel like there is a fourth thing but I cannot remember it right now.