I have never driven that far to a marathon on race day because almost all marathons require that you pick up your race packet at the expo the day before the race. No way am I driving 2.5 hours twice on Saturday and then driving it twice again on Sunday.
If your target marathon is one of the few enlightened ones that will either mail your race packet ahead of time or allow you to pick up on race morning, then your choice comes down to several factors. How well do you function after getting up really early in the morning? How well do you sleep in a hotel room compared to home? And how much do you stress out about getting to the race and to the starting line on time? I get very stressed out when I have a long drive to a race because I'm always worried that there will be a wreck or construction on the highway that will cause a big travel delay. If you haven't done this race before, you'll want to allow plenty of time for finding parking, port-a-potties, etc. And if you're picking up your race packet on race morning, you'll have to allow time for that. Personally, if I had a 2.5 hour drive I would probably have to leave 4 hours before the start of the race to minimize my stress level about those other things, and then I would definitely want to stay in a hotel the night before. But you have to consider all the factors and make up your own mind.