IPFS doesn't rely on DNS. Most Dat deployments do, however.
From what I can tell, most "serious deployments" of DAT and IPFS are made by people directly using the loose underlying collections of libraries that implement each of them. These people often end up putting together application specific transport and discovery layers that work for their specific application.
So IPFS might not theoretically rely on DNS, but it seems that it does practically rely on DNS if you actually want to use it.
I have a hunch that IPNS is just broken in its implementation (manifesting as "unusably slow") but I haven't yet had the spare time to investigate this theory..