A Bezier path is a valid solution to your problem, but might I suggest using a Catmull-Rom spline instead. It is far eaiser to implement, not least of all because XNA already includes a function for generating such a spline. It is also easier to use (each control point is also a point on the spline).
The function in question is Vector2.CatmullRom
(there are also versions for Vector3
and for floats in MathHelper
). You specify four points. The middle two of which are valid for your spline. If you need more than two points, simply cycle the inputs as you move (second becomes first, third becomes second, and so on). The amount
argument species the position that you want, along the path.
The Catmull-Rom spline is described here on Wikipedia.
And here is an interactive demo showing how the spline works.