*Essay warning*
My thoughts on the subject after building hundreds of tables and playing on many different style tables as well.
80% of the tables we build have cup holders in the rail. Very few people get drink carts, mostly due to space limitations.
My ranking best to worst:
Drink carts
Cup holders in the rail
Cup holders mounted underneath the table
Cup holders in the playing surface like in a racetrack
No cup holders and no drink carts
If you have the space for drink carts, this is the best solution. Most people are going to drink something, whether it's water, booze, coffee, pop, etc. They need somewhere to put it. If you have no drink carts and no cup holders anywhere near the table, players will end up putting them on the floor, or pulling up an extra chair and the drink gets put somewhere very precarious and most likely going to get spilled. At least though, it won't be on the table.
Drink carts also usually fit underneath the table for storage when not in use. They're also flexible in design, so you can have nesting drink carts, rolling drink carts, folding drink carts, hell you can even hang them from the ceiling if you want. I've had many people who have purchased my drink carts tell me that they love them because they're also very useful around the house. They're great sofa side tables, TV tray dinner tables, or even the office desk for an extra place to put stuff, like drinks away from paperwork and the computer.
If you do not have room for drink carts, then in the rail is the next best option IMO. Where? In front of the player. It doesn't have to be directly in front, but it shouldn't be between players. When you're reaching into the middle of the table to scoop a pot or make a bet, elbows can bump the drink resulting in more spills.
I don't mind having cup holders directly in front of a player, perfectly centered. Although it obstructs your view of your cards, I usually pull my cards over to the side just a little and peel them up to peek at them. I usually stack my chips (when I occasionally have some and haven't donked them all away) directly in front of me anyways, so the chips are usually in the way of peeking at my cards as well.
I prefer cup holders underneath the table over inside the table for one main reason. If you have a cup holder on the playing surface, either in the racetrack or the slide in style, if a drink ever gets bumped, there's a 90% chance it's getting spilled onto the playing surface. If a drink is in the rail and gets bumped, at least there's a 50/50 chance it'll get spilled away from the middle.
It's been mentioned already but with the slide under the rail type, it can leave a gap under the rail where cards can also slide under. This isn't the case 100% of the time, you can have a snug rail pushing down on the table where a slide in cup holder will fit underneath and cards won't slide under unless pitched with quite a bit of force. It's just a tricky balance to get the right amount of pressure and screw/bolt locations. If you have lights or a wood trim raised rail, this is even harder or even impossible depending on how the table is built.
The big downside of the cup holders underneath the table is you lose legroom, depending on what kind of mechanism you have to hold the cup holders. They're also usually more expensive since you have to either build or buy the hardware.
What kind of cup holders? Jumbo. 3.5" inner diameter cup holders work the best. They're deep at 2-1/4" so even a tall beer bottle will only tip so far before it stops because the bottom jams into the opposite side. The dual size are the same depth, so yes a bottle or can that fits in the smaller part is held in place better, but when you have a wider cup it doesn't sit as deep into the cup holder because it doesn't fit into the smaller diameter space at the bottom.
Your miles may vary, everyone has their own preferences, these are just my thoughts and experiences.