Yes, Kagan did do a good job of showing there are possible alternatives to the theistic option. They didn't appear to be particularly convincing options though, or at least not as he presented them.
The contractarian option, as he presented it, is fundamentally flawed. He seemed to like it, and if he had a more convincing option that he preferred then I would have expected him to present that instead. Do note that I'm not just having a go at the contractarian option per se. I'm disputing that a rational approach is the best one.
Kagan's a philosopher, so he wants things to be rational and consistent. He therefore assumes that deriving a moral code should be a rational and consistent process. That gets you into a lot of problems. To take a very basic example, a perfectly rational process would have a trouble coming up with a prohibition against murder. Why? Because the desire to live is not rational. It's emotional.
Such a process would have trouble dealing with rape. Many rapes don't take long, and do not result in physical injury or disease or pregnancy. In purely rational terms, such rapes are a trivial inconvenience. A perfectly rational assessment of them does not reflect the emotional impact on the victim.
The same would apply to various forms of emotional abuse. There would be no need for a purely rational process to take account of them. It would apply to screwing around on your partner too. As long as you aren't taking up their own screwing time or otherwise directly inconveniencing them, they have no rational reason to object to you screwing around.
Short version: a rational and objective derivation of a moral code is going to be a mess, unless you begin by deliberately restricting the process with a whole crapload of irrational starting conditions to take account of all the irrational things that real people will want in a moral code in practice. This means that the whole idea of perfect rationality as a goal is stupid.