Also just to throw in some math ... a typical USB 2 bus has a theoretical maximum bandwidth of 480 megabits / second.
A camera running at 640 x 480 @ 60 fps requires approximately (640 x 480 x 3 x 60 bytes / second == 442.36800 megabits per second). Thus 3 cameras running this fast will likely saturate the usb bus. In my experience on a mac laptop, this is indeed the case.
A camera running at 320 x 240 @ 30 fps requires approximately (320 x 240 x 3 x 30 bytes / second == 55.29600 megabits per second). Thus (in theory) you should be able to get 6+ cameras connected at that data rate on one usb bus.
We'll see how this plays out in practice ... on a raspberry pi I believe it's a single usb bus that is shared with the ethernet ... so basically you would have to cut all of those numbers in half if you wanted to send the data anywhere ...