If you had 2 computers which are 1000, a few 100's and say one 10mbps device, the speed from 1000 mbps computer to the next through the 10/100/1000 switch will be 1000. If these 1000 mbps systems had to talk to the 100mbps system, then they would sync at 100 instead of 1000 to talk at the same speed. And for the 10mbps device, everything talking to it would have to ramp down to 10mbps to do so.
The only relationship to speed that your friend mentioned as the slowest device will send everything onto that slower mode would be true for a system bus where a slower (older) device would bring the speed down to like ATA 33 for plugging on an old IDE HD paired up with a new ATA100 or ATA133, or RAM a 667mhz stick in which and 800 mismatch would run at 667, but this is not true of your network. The networs switch is olnly bottlenecked by what it interacts with and the maximum speed of the switch.
HUBs however may degrade, but Swictes will allow for all different speeds to work in harmony and the fastest speed available between devices.