I think mostly, it depends on your personal stroke technique. I know for a fact that when I breathe on every right stroke, for the way that *I* swim, my times are faster, and also feel like I swim stronger.
Having said that, I DON'T swim like that when I train, and only sometimes like that when I race
(only as a last ditch effort when I am feeling breathless or am trying to speed it up
). The only reason why I don't swim breathing with every stroke is due to my unbalanced and imperfect stroke technique - my left shoulder begins to get sore with time. So I've conceeded to bilateral breathing every 3rd stroke to save my left shoulder, but I give up time.
One way you can gauge your efficiency is to do what is called swim golf:
Warmed up, but rested, time how long it takes you to swim a 50,
(at a moderate effort, not necessarily all-out sprint or slow endurance pace
). While you are swimming, you also have to count how many strokes you take.
Add up the time in seconds to the number of strokes you take.
(Ex: 45 seconds and 42 strokes = 87
)
Calculate your swim golf breathing every 3 or 4 strokes, or every stroke. Whichever method ends up giving you the SMALLER number is YOUR most efficient way to swim!