The CSFML 2.x to CSFML 3.x migration should be easier than if you'd do it in C++ land, since more APIs remained the same and some of C++ language changes, didn't transfer/translate into the C API itself.
I personally would make sure that the code is under source control. Then I'd swap out CSFML 2 with CSFML 3 and slowly work myself through the compiler errors.
The migration guide is a good resource, though it's written for C++, so many changes won't directly apply:
https://www.sfml-dev.org/tutorials/3.0/getting-started/migrate/Additionally, I'd build the CSFML documentation with doxygen, so that I could look up the available functions/APIs.