Hi @tobiasp,
This can be a tricky process, however it's still achievable in FME
If you have offset x, y (and z), rotation and scale information you can use these in FME to get your result. Likely you won't need to scale, however, if your model was created with a mm (or cm) scale then you will need to scale it. If you don't have this information you will have to figure it out. If it's just one model you can probably do it fairly quickly manually.
Once you have that info you can Use the 'Scaler' to Scale, 'Rotator' to Rotate and 'Offsetter' to Offset. If you're brave you can try the 3DAffiner which is essentially performing all three operations with a matrix.
You may need to play around with the origin of the model to get everything working. I've found that for rotating it's easiest if the origin of the model is a the center point (x,y) of the model. This means you can simply rotate around the z axis and not worry about custom rotation axis.
For scaling it's similar - Scale while your model is still at the origin, of you offset it first you may run into headaches.
Then you can perform your offset to the correct X and Y. Once you're happy with the location you can write it out to CityGML - just be sure to specify the correct coordinate system on the writer.
It can be quite the trial and error process so I would suggest using only a subset of the data to start with. Perhaps a floor plan if you have one. When the floor plan fits you can be fairly confident the rest of your model will be correct.
Here's some other related material with other tips which might server you better.
https://www.safe.com/blog/2010/05/how-to-defeat-common-barriers-to-georeferencing/
https://knowledge.safe.com/questions/56592/how-do-i-georeference-an-autocad-file-with-no-real.html
Happy FMEing!