One way is converting the object to tetrahedrons, since tets have 3D primuvw coordinates for interpolation. Sadly this isn't always an option, because the triangulation changes when animated.
A better approach is using Positive General Mean Value Coordinates (PGMVC), as implemented many years ago by Sibbarick [forums.odforce.net].
It works by casting rays in a sphere from each point, creating lines. Each line acts as a distance constraint, pulling the point as the walls move. It's almost like Point Deform with occlusion, where only the faces visible to a point light are used for deformation.
I rewrote Sibbarick's method using primuv to make it simpler, with slightly better results on the exterior.
Download here:
https://github.com/MysteryPancake/Houdini-Fun/tree/main?tab=readme-ov-file#hda-volumetric-deform [github.com]