Sponges are difficult to capture. I've done some thought on this in the past. You've basically got two options.
1: Divert the entire river, briefly, then un-divert the river. Sponges don't move in 7/7 but they will sometimes in 6/7-7/7 eddies. You want to disrupt the water enough to cause a flow change, but not enough to air-drown.
2: Set cage traps nearby, and then cause a cave-in that does not hit the sponge or the trap. The cave-in will throw the sponge aside, into the cage, and capture it. Probably. This has its own hurtles.
The BIGGEST problem is that you want to build a cage trap nearby, but not so close that dwarves become frightened. You may end up diverting the river several times in order to set up the cages and everything. Something to consider:
Dig a channel 1 under the river, to the map's edge, and carve fortifications into the wall on the map's edge. Add floodgates inside the tunnel. Channel up into the river - the water will now divert downwards and off the map's edge, leaving everything down the river, dry. MAKE SURE the sponge is up-river and still wet.
While the river is dry, add cage traps.
Close the floodgates, causing the tunnel to flood completely and the river to flow normally again.
Dig a bit further up river, to the other side of the sponge, and connect the tunnel, now drain the river so that the sponge is dry.
Resume the flow quickly, so that there's a disturbance in the flow amount and the sponge is pushed.
Keep draining and blocking the tunnel so that the sponge keeps getting pushed.
Collect sponge in the cage, as well as the dozens of carp you also captured because that's what happens when you trap an entire river.