I think the jump is related to how the behavior finds the closest free spot to resolve a collision. It does checks in kind of a spiral at times from what I understand, which is decent for arbitrary object collisions but not so much when hitting a flat wall it would seem.
I can't think of any solutions offhand to fix the little jumps other than just implementing the movement from scratch to have more control.
Here's my go at it that works similar to the platform behavior but only works with un-rotated boxes.
The cyan box is the one done with events and the grey one is the platform behavior for comparison.
The basic loop is
1. move with any platforms the player is known to be on
2. move based on controls and based on what sides of the player is blocked
3. resolve collisions by moving the player box out the closest direction of the wall boxes.
4. mark the walls the player has around him and stop velocity in those directions.
It does have room for improvement, like anything, but it works ok. The cases when the player gets trapped will need to be handled.
For the sine behavior you can find the distance moved by adding two variables ox and oy to the object and then in "on created" and an every tick at the bottom of the event sheet set ox and oy to the object's x an y. The the x and y distance moved would be x-ox and y-oy respectfully.