I don't think there's any significant difference in meaning. But skulk is a lot less common today, as that linked NGram chart shows, so unless you specifically want that "dated" association, I'd stick with sneak.
There are some syntactic differences, though. Per this chart, both past tense verb forms commonly occur in, for example, he sneaked / snuck out, but you would very rarely encounter he skulked out. This is nothing to do with any semantic difference relating to physical movement as opposed to appearance. It's just a matter of established acceptable syntax, as shown by the fact that both verbs in to sneak / skulk about mean exactly the same thing and both occur fairly often - but to skulk out (or in) is just unfamiliar, so it's a bit "awkward".
EDIT: It's not much of a semantic difference, but I'll just say that to skulk can often carry stronger associations with keep your head down, maintain a low profile.
I support the above assertion with this chart, showing that both verbs often occur with sneaking / skulking around in the bushes. People are usually taller than bushes, so that context definitely implies keeping your head down, as well as "hiding" behind bushes. And the fact that the verbs are equally common with (low-profile) bushes, whereas in more general contexts sneaking around is almost three times as common as skulking around suggests to me the latter has stronger associations with being near the ground.
Personally, I might be inclined to say my cat is skulking about if she's trying to keep [her head, back, and tail] as low as possible while creeping / sneaking up on some hapless prey in the garden.