What I think is happening is that your character is the collision detection, using pixel perfect collisions, so when the legs(for example) animate, they can overlap the slope while going up, thus causing issues, and overstep when going down, causing the dropping thing.
So you need to make a collision box about the size of your character, a solid rectangle.
I still use a seperate collision box for my platformers, and set the animated character sprite to the collision box using some events.