Your character has to be made of two sprites - an invisible sprite with Platform behavior and a "skin" sprite with all character animations.
Add an instance variable SandDepth. When walking on quicksand, increase the value of SandDepth, move the skin sprite lower down and decrease platform speed and jump strength. On jump, decrease the value of SandDepth.
On every tick set skin sprite position to platform sprite, plus SandDepth.
Something like this:
PlatformSprite overlapping QuickSand
...Add 1 to SandDepth
...PlatformSprite set platform speed to max(100-self.SandDepth, 0)
On every tick
...SkinSprite set position to X=PlatformSprite.x, Y.PlatformSprite.y+SandDepth
PlatformSprite On Jump -> SandDepth set to max(SandDepth-20, 0)