I may have gotten a bit carried away and ... implemented a moving solid. It's kinda buggy and glitches out after UNDO or saving (they do mostly load well if you clear the sim beforehand, but don't rely on it just yet), but it's a solid, it has rigidbody physics, and it's destructible.
Unfortunately, it's quite laggy. I believe a significant speedup can be found by rewriting the script in C++ (as well as an opportunity to fix the bugs) and I plan to do so sometime in the future, so you can consider this a proof-of-concept.
SPNG is a moving solid if you set it's flags property to 0x8, CLST acts as a pseudo-solid if sufficiently cooled, and DMG stays focused when falling; it doesn't spread out as it falls like other powders. You can use code from these elements to help out some.
this is really good actually