When to have a baby shower is again a personal choice. It can be held anytime 4-6 weeks before or after birth. Moreover, it can be held any day of week and at any time of day that is suitable for mom-to-be, her family and invited guests. Traditionally, baby parties before birth were very common. Today it is a matter of personal choice and convenience. It is usual for event to be held perhaps a month or two before birth.
If shower is to be held before birth then it is preferable that gifts should be those related to newborn babies and in neutral colors as well as gender neutral. when to have a baby shower these days is to hold them a month or two after birth, which has also become quite a popular time period. It has its own advantages, like mother is somewhat worry free about her pregnancy. She doesn't have that large belly, so can participate in more baby shower games and other activities. She can eat whatever she feels like, unlike when she was pregnant.
Sometimes it can be more appropriate to host a baby shower after birth if mother is having a difficult pregnancy or her religion discourages celebrating baby's birth beforehand.
Having baby shower after baby is born has other advantages as well. Now you can be sure that gifts can relate to baby, i.e. girl or boy.
So as to when to have a baby shower, before or after is just fine, but it is a good idea not to hold shower too near anticipated birth date. Otherwise mother's health may not be good enough for her to enjoy or even take part in games or activities. Also, baby could of course arrive late or prematurely.
Similarly, next issue while choosing when to have a baby shower is to know whether she is a first time mother, or if this her second or more birth. Baby showers before baby arrives are great fun for first-time mothers to look forward to in last month of her pregnancy.