McCain certainly had his best debate yet (I think we should preface that by saying the bar wasn't set that high, but whatever).
He had Obama on the defensive all night, forcing Obama to essentially start every answer with "First, let me clear up some of what Sen. McCain just said..." Then Obama gets maybe 20 seconds to cram in his own proposals.
What may have been most striking and telling to me was during the healthcare session. You had John McCain claiming that Obama would charge Joe "The Plumber" a fee for not insuring his workers. Then you have Obama stating that Joe would qualify for a small-business exception, much to McCain's surprise. When Obama finishes his answer, McCain restates his claim about the fee, which was literally just refuted by Obama.
So, you have a man whose false assertion has been directly combated and found false, and all he can do is restate what he now knows to be a lie.
Then there was also those crazy eye rolls. Wow.