One gotcha with JSON vs parquet is that there's a longstanding bug that causes errors when trying to read from Parquet files containing 0 rows.
For cases where we're converting from datasets that might be empty, we use JSON, and for everything else, Parquet.