This will do the job. The parameters you send in are the current position of your sprite, the desired position of your sprite, and the speed you want your sprite to be moving. What you get back is the new position of your sprite.
Vector2 MoveSprite(Vector2 position, Vector2 destination, float speed)
{
Vector2 velocity = destination - position;
if(velocity.Length < speed)
{
return destination;
}
velocity.Normalize();
velocity *= speed;
return position + velocity;
}
You'll want to scale this properly in your Update() function:
spritePosition = MoveSprite(spritePosition, spriteDestination, spriteSpeed * gameTime.ElapsedGameTime.TotalSeconds);
Your spriteSpeed should be set to the number of pixels your sprite can move every second.