I'd go with what it says for now.
First off, clean all your spark plugs, and it might not be a bad idea to replace the wires now. You could also replace the plugs. For the EGR, remove it and spray with carb cleaner. If you can rent a vacuum pump to actuate the EGR, then do that while you're cleaning it. I'd also take a very good look at the vacuum lines leading to the DPFE as those could be your leak.
Finding a vacuum leak is a difficult and time consuming analysis. There are tricks that can help, but these are not foolproof by any means. I use a can of starting fluid to spray around under the hood in the areas I think there might be a vacuum leak. If you spray it near a vacuum leak, the engine idle will increase, but sometimes it's not as easy to do as that. The idle increase might not be as evident as you'd think. It all depends on the size and proximity of the vacuum leak.
If a vacuum leak is causing a good part of your running problem, it will be a large one. You might even be able to hear a sucking sound- however, it could be something like an intake manifold gasket leak. So spray starting fluid around where the intake and head meet- and definitely do that for the first test if you're using starting fluid.
At a guess, the combination of a vacuum leak and a stuck EGR (assuming it's stuck open) could be together in causing the problem your experiencing. The EGR would increase intake temperature, and the vacuum leak would cause more air than was metered to be introduced in the engine. This would cause a horrible lean condition which would probably also throw O2 sensor codes as the sensor would be getting strange readings according to what the computer thought was being introduced into the engine. This would most likely cause some spark knock, and the knock sensor would retard timing. Depending on how bad it is, it might even go into failsafe mode.
Best of luck. I have a feeling you'll find multiple problems that contribute to what you're experiencing.