The flow of a viscous fluid can be described using the Navier-Stokes equations. This includes describing flow of air around an airfoil. Your assumption about conservation of momentum or energy is correct, both of these enter in the derivation of Navier-Stokes, together with conservation of mass:
[The Navier-Stokes Equations] describe how the velocity, pressure, temperature, and density of a moving fluid are related. [...]
The Navier-Stokes equations consists of a time-dependent continuity equation for conservation of mass, three time-dependent conservation of momentum equations and a time-dependent conservation of energy equation.
(NASA, emphasis mine)
Since there is no generic way to analytically solve Navier-Stokes, numerical approximations are typically used to derive a solution (see Computational Fluid Dynamics). When solving for the flow around a wing, the solutions show faster flow at lower pressure above the wing and slower flow at higher pressure below the wing. This might not be the simple answer you are looking for, but any answer that does not involve complex maths usually oversimplifies something.
While you are right that Bernoulli's principle relates the speed of the flow and its pressure, you have to be careful about implying causality from this:
Bernoulli-only explanations imply that a speed difference arises from causes other than a pressure difference, and that the speed difference then leads to a pressure difference by Bernoulli's principle. This implied one-way causation is a misconception. The real cause-and-effect relationship between pressure and velocity is reciprocal.
To understand why airfoils are shaped the way they are, I recommend you have a look at the NASA page on Aerodynamic Forces. They have a good description of how the total force is generated from the pressure difference: