SpessaSynth supports converting between SF2 and DLS, but the conversion is limited by the differences between the formats. For example, in DLS:
And most importantly: there is only one instrument layer.
This means that when converting SF2 to DLS, the program has to combine all zones from all instruments in a preset into a single zone list. And since an SF2 file can have up to 2^16 generators, complex sound banks cannot be converted back from DLS into SF2. SpessaSynth tries to put as many generators as it can into the global zone to decrease the count, but it does not always work.
It can read these large DLS files without issue, but converting them back into SF2 is the problem.
Also, there is simply a lack of documentation or software to test with. The only ones I am aware of are:
I was testing my sound banks with my own program, like this: SF2 → DLS → SF2, then opening them in Polyphone.