Yep as some previous posts say, it's better to breathe out using your nose. That way you can control how much air you release underwater. Generally, using your mouth you'll release most of the air and then gasp for air, probably getting some water in your mouth. You really don't want to do that.
You should breathe in with your mouth tough, if possible just turning your neck as close as 45 degrees (like you're nodding to the right or left) and take a quick breath.
The main reason to all of this is that you don't disrupt the rhytm of your stroke =).
Breathing at controlled rates helps you with lung air capacity and builds resistance on your freestyle. A drill exercise I recommend a lot (but do it only every 3 weeks though) is start taking breaths every 2 , 3, 4, 5, 6, 7... strokes to try to control breathing. =)
When you're doing regular freestyle though breathing every 3 to 4 strokes is ok. But try if possible every 3, because that way you can balance breathing on right and left sides. This will help you not deforming the freestyle. If you get tired, try breathing every 2. This will help you oxygenate your body faster =).
Hope this helps!