If you use ExplodeBlock and explode the blocks, you will have all separate surfaces. I did a SelAll and Join after that, that resulted in some closed polysurfaces and some open ones. If you hide the closed ones, you will can go in and start seeing what parts correspond and join the rest up.
You can either edit the parts before you join everything - when everything is still all separate surfaces - or by using the solid editing tools after everything is joined. If you do the second, beware, there are fillets on all the edges, so if you move a face, select and move the attached fillets with the face at the same time, otherwise you will get distortions.