In all of my experiments with trying to make a good custom physics platform engine, I've encountered nothing but trouble. No matter what I tried, it always ended up behaving buggy. Often times fixing one problem would result in causing another.
That said, to fix the wall sticking, you could try raising the gravity, setting linear dampening to 0, and using Exact for friction and solver. You can overcome the speediness of the newly changed gravity by messing with the world scale.
Alternately, you could create side detectors for your player box, and don't add force in a certain direction when that detector is in contact with a wall.
Good luck with it. I know electrii is working with a physics platform movement, you might as him for some tips.