Hi Juzwa,
the easiest way would be creating a point cloud representing your volume (1 point per voxel storing all voxel values as attributes), deforming the point cloud with lattice and then converting back to volume; this works pretty well with scalar fields, but if you need to deform also vector fields such as velocity, you need eventually additional operations to reorient the vectors.
Another method (maybe more efficient) would be using vex to build a node that moves values from original voxels to target voxels but in my experience this produces also more artifacts.
I hope that was helpful.