Just set Body.LinearVelocity=YourVector*timeStep (to make it move in one frame). Kinematic bodies have infinite mass (actually 0 is stored for mass and inverse mass by the engine) so you have to move them by setting their positions (teleporting) or velocities
Thanks, this one works. But I've got some problem now.
First, How do I make sure the body doesn't go out of the screen bound? I had this piece of code which works for non-farseer objects, but since Position is not a variable on Farseer, it won't work in its current form.
player.Position.X = MathHelper.Clamp(player.Position.X, 0, GraphicsDevice.Viewport.Width - player.Width);
player.Position.Y = MathHelper.Clamp(player.Position.Y, 0, GraphicsDevice.Viewport.Height - player.Height);
Second, I'm using freedrag as a gesture input from touch screen. which makes the object move anywhere on the screen. But I want it to move only on X axis.
Again I can use gesture.Delta.X for non-farseer objects but that wont work here. VerticalDrag and HorizontalDrag don't have any response also.