I've got the same problem. I can host and join games, but the lag is so horrible it's worse than not even playing at all. On a game that I joined to test it out the game was shut down after two minutes or so. My clock only logged ten seconds as having passed due to the intense lag.
I've also performed all these steps, so I'm certain that isn't the problem.
Any ideas?
Edit: I just found out that I can direct connect with other people flawlessly, so the issue is specifically between me and PX.