A somewhat simpler method would be to adapt the "gravity slingshot" method we use to adjust the orbits and velocity of spacecraft. Probes like Voyager "slingshot" around Jupiter to increase their velocity, but Jupiter actually slows down due to the energy exchange. Since Jupiter is orders of magnitude larger than a space probe, the velocity change isn't even measurable by most instruments, but happens nevertheless.
If an asteroid is shifted to fly past a planet and be accelerated by the pass, the planet will lose some velocity and change its orbit slightly. If the asteroid is decelerated, then the planet will speed up and move into a larger orbit.
What is needed is thousands of asteroids (clearing out one of the Jovian "Trojan" asteroid clusters will do), and fitting them out with light sails and sophisticated computer guidance systems. Each asteroid manouevres around the target planet, adding or subtracting velocity as needed, but then deploys the solar sail in order to readjust its own orbit and gain or lose energy for another pass.
Other things will be needed, such as an effective Space Traffic Control system to ensure the asteroids are not striking other spacecraft, planets and so on, and enough fine control to adjust for the varying mass of the asteroids, or alternatively to have enough space manufacturing capability to build uniform masses for the job.
The speed at which these sorts of adjustments can be made will depend on a lot of variables. The closer the pass the greater the momentum exchange, but a planet with an atmosphere will have a clear limit to how close of a pass you could make. The greater the momentum of the asteroid the greater the potential momentum exchange, but this might require long and complex orbital adjustments as the asteroid moves under power of the solar sail, making the overall orbital adjustment time greater. If we suggest a thousand asteroids can be gathered and prepared to move the Earth, and each asteroid is in a solar orbit of about one year's duration, then roughly three asteroids a day will pass the Earth to do momentum exchange. Obviously we would want more interactions to make the process faster (10,000 asteroids would result in about 30 encounters a day, which would look pretty spectacular as all these solar sails furled and unfurled around the planet).
A British researcher named Paul Birch took this idea to the logical extreme, calculating that using solar energy on a grand scale (about 2% of the Sun's luminosity) and hyper accelerating a stream of pellets like machine gun bullets it may be possible to move planets around in a time span measured in decades.