blackwall is a great tank, especially when you unlock the champion class for him.
iron bull does great too but really only after you get some materials to craft a weapon and armor for him that generates guard on hit because he does die.... a lot. i removed iron bull from my nightmare party even using shield with him and no reaver abilities (these also drain his health but he does more damage)
if you micromanage your fights a little better with a mage generating barriers all of the time (cold trance + barrier mage) he gets a lot better.
it is also a lot better if you control iron bull.
try going into the character record and setting their behaviors to follow certain people, or defend certain people. the default is to follow you and if you charge into battle he will always attack your target, where if you set him to defend another character he might hang back a bit and get a barrier before charging in only when your ranged starts to take damage.
but if you are looking for a pure tank, blackwall is the absolute best because he generates 100% guard very easily, taunts everything, and can even prevent monsters from moving forward towards your ranged party members with the champion abilities.