In my opinion i think after baby is born. Alot can happen before then, also everyone can meet baby at same time :)
7 months. I was miserable at mine. I was sick but also I was big. It was funny but it's hard to get comfortable and open presents.
Im having mine toady I'm 35 weeks
Before you get to 8 months. Maybe if I'd had mine before 8 months, I would have enjoyed it. Plus, give yourself enough time to purchase items you didn't receive from the shower.
I'm doing mine two months or 3 months before baby is due because my first born was early and he was still in nicu when I had my baby shower and I hated being away from my son.
Id say 25-32 weeks, you know what you are having and still have time to shop for what you need after the baby shower