Actually the problem with soft updates isn't really in FreeBSD itself, it's in hard drives which reorder writes for speed. That most often happens because of the caching. On top of that many drives lie about writing things to disk while in fact the data is still in cache.
The fix for that is to disable cache on the disk (setting hw.ata.wc=0 on boot), unfortunately that reduces performance.
As for FreeBSD switching to journaling, that's not enteirly true... gjournal is part of GEOM framework and gjournal was one of tools showing what GEOM can do (among with geli, gshsec etc). It also doesn't work exactly the same as other journaling since it works on a block level (GEOM work under the filesystem layer).