Using shader math to modify/distort texture coordinates can make for some nice and simple (or even advanced) effects. The main advantage of this method is its high quality (no texture compression, color banding) without the need to create external texture maps (e.g. flow maps) or to use other methods to alter UVs (e.g. vertex colors).
Once you got the math done it'll be pretty easy to implement some texture movement/animation.
You can find 2 GIF examples below: