If you use a mesh system such as Pokémon, you can achieve this by setting the speed at which they can move between the plates.
For example, if you made it so that they could move one tile per second, you can use (float)gameTime.ElapsedGameTime.TotalSeconds in your Update function to determine how quickly the game updates. From this, you should be able to make the character move ((float)gameTime.ElapsedGameTime.TotalSeconds * TileSize) every update.
This would mean that if they have 4 updates per second (very slow, but, for example,), they will move 1/4 of the distance on each plate each update and reach the end point by the end of the movement period (1 second in this case ) In this situation, if you had 32 pixel tiles, they would move 0.25 * 32 every update or 8 pixels.
Hope this helps.
Lyise source share