I think IFF is amazing because you can extend it as you wish, while remaining small data-wise. I used it for reading LightWave's LWO objects a long time ago. 30 years after, they almost reinvented IFF as "BSON" ("Binary JSON",
http://bsonspec.org/).
On the other side, you can't directly read a fixed structure with IFF; you need to parse each block separately and recursively. This may slow down loading + much complicated to parse in asm.
Is your data fragmented a lot (with many small data structures) ? then yes, maybe it worth it.
If your data is like 1 or 2 "big structs" + some 2 or 3 linear data with variable size, well, maybe it does not worth it.