If you’re planning to support multiple languages with a single binary, Angular built-in i18n is going to cause you some problems. Runtime language switching is another area that ngx-translate will do better. Personally, I really prefer the stock Angular approach of compile-time translation instead of runtime, and if you’re just dealing with one language per build, or a situation where you’re serving a PWA behind an httpd, I would wholeheartedly endorse built-in Angular i18n.
I would love to do so also for on-device multilingual builds, but can’t really do so yet with the current state of affairs. The Ivy extractor only was released with 10.1 very recently, though, so maybe the answer to this question will change as more people try using it.