What's the difference between Sky Walk and Geppo? Is the technique Sanji learnt during the timeskip different from the one CP9 members and other Rokushiki users performed to stay in the air? If yes, what's the difference? If no, why did it take so much time for someone so talented at fighting with legs to learn it?
Geppo translates to 'moon walk'. There's really no difference between Sky Walk and Moon Walk.

You can check One Piece Wiki which lists Sky Walk as a variation of Moon Walk. The only difference it mentions is 


  After the timeskip, Sanji demonstrates this ability by kicking the air to jump higher, giving the appearance of flight.


However, when we see Sanji using Sky Walk here, Robin says that it's the moon walk of CP9. 

I guess the only difference is in its naming or maybe the ability to jump a bit higher in Sky Walk.

As for it taking Sanji time to learn Sky Walk, I don't think it took him that much time. It's not like Sky Walk was the only thing he learned in the 2 years he was on the Momoiro Island. But it's hard to specify how long it took him to learn the technique because nothing about that has been revealed yet.