Breadth First Search Path Finding - Store Paths in Queue or Track Predecessors?
There's no set answer, as it depends on the number of nodes in the graph, the average number of nodes in the queue at any point in time, and the average length of paths.

"Considered better" is a matter of opinion, and on this site, we focus on technical questions rather than opinion.

If it were me, I would use predecessor pointers as my default, unless I had careful measurements showing that on my workload the other was better.