Jonathan's answer is correct. However, your original question states:
I know I can use shape keys to achieve something similar, but modifiers would make it easier and smoother.
(emphasis mine)
In fact, properties that can only have integer values (i.e., no decimals) can only be animated with constant interpolation:

This is, by any definition, the exact opposite of smooth.
If you really want it to be smooth, consider using a shape key!
- Subdivide your mesh however many times you want in Edit Mode.
- Add a shape key.
- Press Smooth Vertex in the toolbox and adjust the iteration count (10 works well for two levels of subdivision).
- Animate the shape key.
This will get you a nice Beziér (or linear, if you prefer) interpolation:

I've prepared a video to demonstrate the difference. The first part of the video uses the shape key method, while the second part uses a modifier with the "Levels" property animated.