Most of my Pi 3B(+) computers are in Flirc cases. The aluminum alloy Flirc case acts as a huge heatsink, keeping the Pi3 cool without the additional power requirements, noise or dust associated with fans.
And the Flirc looks cool too.
Unlike some other aluminum cases that completely enclose the Pi3 in a metal box, the Flirc is plastic on the bottom and part of the side near the wireless antenna, so it has a negligible effect on wireless performance.
The Flirc Gen2 is made specifically for the Pi 3B and 3B+ models, and it has an internal post to transfer heat away from the SoC.
It has 2 thermal interface pads, a thin one for the 3B+ model (and newer 3B with 2837B0
SoC), and a thicker one for the older 3B.
There is a slot on the bottom of the Flirc case to pass wires out, but if you need frequent access to the GPIO pins, the Flirc is inconvenient (you need to remove the Pi from the case to make changes to GPIO connections). The Flirc also won't allow the use of a HAT.
My test bench Pi 3B is in one of those 2 layer acrylic cases with no sides, using a Pimoroni Fan Shim
for cooling. And my 4B2 is in a similar case with a 40x10mm Noctua 5V fan for cooling. Even without heatsinks, temperatures are well controlled.
My 4GB Pi 4B is in the Pi4 version of the Flirc.
So those are my cooling solutions. For something like a PiHole, I'd recommend a Flirc case.
My mind is like a browser. 27 tabs are open, 9 aren't responding,
lots of pop-ups...and where is that annoying music coming from?