Mine's done this twice:
1) Every now and then it would shimmy then stop until it always did it and it turned out to be a vacuum leak on the PCV hose (from the intake tube rubbing on it).
2) Spark plugs needed changed. There was no electrode/insulation left and it was arcing inside the plug (or not at all) causing misfires.
Since you said highway, I'm guessing it's a misfire issue. Have you tried pulling any codes? Misfires can happen three ways: no spark, no fuel, no air. When was the last time you pulled the plugs? Any misfire or lean codes?