From a Marth's perspective, Snake is about the same on paper. When the matchup is actually played, however (this may just be in Ali's case as he spends more time camping than any other Snake), it is more of a mountainous task.
Consider: Marth has to get in close to do anything: shiled pressure, deal damage, etc. Snake doesn't have that crutch, as he's one of the best projectile campers in the game. Marth is forced to approach, and usually on Snake's terms due to projectiles. That means that everything Marth does is controlled by Snake on the ground.
So then, you say, Marth just has to **** snake in the air and offstage. Depends on how long you friendly said Snake. If Snake adapts, you're screwed because Marth relies heavily on juggling and edgeguarding for his kills, whereas Snake gets to punish an almost negligable miscalculation in spacing with an Utilt that kills much earlier than anything Marth has (reliably).
Ok, suppose you sit there and watch Snake do his little nade dance and blows up half the stage. Now it's time to move in. PROBLEM: Snake in a shield is too good. Marth's Dtilt outranges Snake's first Ftilt hit by almost nothing, so you'd better not mess up, lest you eat 21%, and get set up for projectile/Utilt/grab traps.
Marth also gets less for his punishments, especially early in the stock. DB=8-12% Fthrow to Fsmash=24%, but only at like 0%. Everything else is just a poke until Snake can be juggled.
It's risk vs reward, and while a PERFECT Marth may go even with Snake, no such Marth exists, and therefore Snake will always be a little more difficult for Marth in practice than in theory at a higher level.
As for practice, I dunno if it'll do me any good, unless I can think of some new anti-Snake tricks. I may take you up on that one of these days though, because it's been a while anyway =p.