The answer depends on whether your want to operate on signals or messages.

Signals are easier– you can just use a lowpass filter. Onepole~ is very useful here.

With messages (probably floating point numbers), you have a bunch of different options. The easiest one to explain, and possibly the most useful conceptually is, turn your number into a signal. Because if you are thinking about concepts like slew it is one anyway, really. So: number in -> sig~ -> onepole~ -> snapshot~ -> number out.

You could also make some combination of Max (as opposed to MSP) objects that will limit the rate of change of a number using the scheduler. The line object may help here. There are probably a hundred ways to do this and, out of those, about five good ones.