Godot version:
Godot 3.1 beta 61b41d6
OS/device including version:
Windows 10 x64
EDIT: it was just that move_and_slide_with_snap only snaps to floors and a limit for that is defined by the floor_max_angle argument. The default value is lower than 45º therefore it wouldn't detect the slopes in my example as floors.
move_and_slide_with_snap only snaps to straight surfaces.
It completely ignores slopes.
All these tests use Vector2(0,16) as snap
Falling from a 16 pixels-tall tile onto a straight surface. Snaps fine.

Falling from a corner onto a slope, no snapping at all:


Steps to reproduce:
In a 2D Platformer setting, use move_and_slide_with_snap to make a KinematicBody2D slide off a ledge or corner. It will only stay on the floor if there's straight terrain inside the snap vector range.
Minimal reproduction project:
move_and_slide_with_snap-slopeBug.zip
move_and_slide_with_snap will only snap to floors. The default floor angle is 0.785398 radians, which equals 44.999991 degrees. Setting the slope angle to a few degrees higher fixes this (due to floating point precision issues and margins).
I confirm this, even with higher degree angle it is not snapping properly and the stop_on_slope argument still not working. Please don't send this issue to 3.2, it was working a few 3.1 betas ago.
oh, @kaadmy is correct.
For some reason, 45º is above the default angle of what move_and_slide_with_snap considers to be a floor so it can't be snapped to (even though it isn't particularly more difficult to slide on than 44º).
If we change the floor_max_angle argument to 46º (0.802851 radians) it snaps again.
The code is fine then but perhaps this detail should just be added to the help/documentation.
@piratesephiroth Yeah it is snapping but the stop_on_slope argument still not working and it is sliding down slowly.
@piratesephiroth Yeah it is snapping but the
stop_on_slopeargument still not working and it is sliding down slowly.
I can confirm stop_on_slope is working, both on move_and_slide and move_and_slide_with_snap.
Did you try beta7?
I am using the 3.1 release with stop_on_slope = true, but my character still slides down slopes.

you should upload a sample project then because as I wrote before, stop_on_slope is working fine here
Ok. I created an sample project. Keep in mind, I'm not much of a programmer, so I apologize if it's badly written. Setting up the collision using a RayCast shape fixed the sliding issue for the most part (I thought this was only used to solve constant velocity up and down slopes?). Player sometimes comes off the slope, but that might be my bad code. But it seems using a RayCast shape causes issues with one way platforms. Maybe there is something I am missing?

hmmm.... your character never stops sliding because the x velocity after your lerp calculation never results in 0 on slopes and I think stop_on_slope is only triggered when the body actually stops moving horizontally... is this a problem with Godot? ¯\_(ツ)_/¯
As a test, try making a button set the x velocity to 0 as you slide down a slope and you'll see the character will stay stationary.
(unrelated but I think you should be making those movement calculations in _physics_process)
(also Vector2 has constants you can use to set basic values, like Vector2.ZERO)

Most helpful comment
I can confirm
stop_on_slopeis working, both onmove_and_slideandmove_and_slide_with_snap.Did you try beta7?