Ventilation is a good idea if you notice the core temperature getting much above 60-65 °C.
vcgencmd measure_temp
...Will tell you this. Note that throttling will kick in if you get close to the recommended maximum; I think it starts upwards of 80 °C, the maximum being 85. You want to prevent that from happening.
most of the cases I am finding don't have any ventilation at all
On casual inspection that might include the official case, although there are bits you can remove to change that.
However, keep in mind you don't need perforations everywhere. Air is not going to be whistling through. Many cases include slots for the camera and/or CSI display in the top, not to mention the GPIO cutout -- anything which includes the latter should certainly be enough.
Any case which includes a heat sink should by implication also be ventilated enough, and a heat sink is probably worthwhile for a 3B+.
As mentioned in comments, any case suitable for a B+, 2(B -- there's no "2A" or "3A"), or 3(B(+)) should be fine. This currently means almost all of them, except those for Zeros. You might want to look and make sure some unscrupulous party is not trying to dump unsold cases for prior models. The footprint is pretty different, so this is not hard (clue: the old models have separate analog audio and video jacks on the same side as the GPIOs).
A key thing with ventilation is probably apertures in the bottom, underneath the board, through which cool air can enter. Many or most cases at least have mounting holes in the bottom. If there aren't any, drilling a couple of holes is easy and won't affect the appearance or functionality of the case.
So, search your preferred online retailer for "raspberry pi case" -- don't include qualifiers such as "3B+" or "ventilated", because not all search software is created equal.