Cave-ins onto magma flow with magma on it results in the immediate annihilation of the cave-in material (and anything else dropped onto such a tile disappears as well, although I haven't tried to drop artifacts).
Lots of pumps can keep the sea at bay, but it costs dearly in FPS if done on a large scale.
The only reasonably method I know of is based on obsidianization. There are two main variations of this:
1. Obsidianization of a rectangular area of each successive magma sea layer around each pillar to create an inverted step pyramid with a footprint at each level to encompass all the candy outcroppings. The way I do it is to find the outermost corners that would accomplish this for each level and then expand diagonally outwards for each layer of magma above that level. Use the maximum corners of all such measurements for the top level and and each lower level one tile smaller. There are two ways to do this.
1A. Obsidianize the whole level and then channel the obsidian out.
1B. Obsidianize the borders and pump the magma away (using a Portable Drain is rather useful).
2. Instead of targeting the spires, target the magma sea external borders and obsidianize them. In this case pumping is the only reasonably method, as complete obsidianization requires a huge amount of work. It take quite some time to pump away one level of the sea to allow you to get at the next one, though, so the 1. methods are the only practical ones.
Regardless of method used, the magma flow level is a pain to manage, since water on magma on top of a magma flow will cause both fluids to annihilate each other, rather than result in obsidian. The staircase method/trick will have to be used there (I think massive pumping works as well, but it's would require quite a few pumps and would probably not be too friendly to the FPS).
A stupid dwarf trick that can be mentioned is that if you wall off the magma sea you can retrofit the external walls to be vertical most of the way through pump usage (and patience, due to the FPS effects).