Matt Cain's first start in a year was ruined by a three-run homer as the Marlins once again came back with the long ball and swept the Giants.