Hello and welcome to JustAnswer!
Do you know what fault codes were stored?
To be able to shed some light on what you have going on it would be extremely helpful to have the fault codes that were set. If the check engine light is still on or the codes were not cleared you can get them yourself.
With the doors closed cycle the key from off to on three times ending with it on and watch the digital odometer display. Don't crank the starter, just off to on. The codes start with a P and have four numbers, there may be more than one stored. Write down any that you see and post them here.
You won't need to worry about the check engine light flashing, the codes will appear on the odometer.
Start with the doors closed. Put the key in and turn it one click. This is off. One click to the right of that is on. Remember to not crank the starter, just off to on. Start with it off and go on,off, on, off, on and the mileage in the odometer will disappear and show you actual P codes. Try it a few times, you'll get the hang of it.
Ok. That's a multi cylinder misfire. There is a service bulletin that pertains to this and will likely fix your problem. Your exhaust valves may not be rotating. This causes carbon to build on the back side of the valves and you will lose some compression on the affected cylinders. The original valve keepers along with low rpm easy driving contribute to the lack of valve rotation. The fix is to replace the exhaust valve keepers, and while they are apart the valves need to be rotated by hand before the springs are reinstalled. After it's back together it will need a fuel system cleaning to remove the carbon. If basic things like spark plugs, fuel quality, etc have been verified by the mechanic already this would be your next step.