Detroit is 2-9 at the Palace in the last six weeks, a year after going 34-7 at home.
"You are supposed to play your best basketball at home, and we obviously aren't doing that," Allen Iverson said. "I don't think there's any focus. It's easy to be focused when you are on the road and have 20,000 of their fans cheering against you, but you can't come home and expect your fans to win the games for you. They help, but you've got to play."
The Bucks overcame 24 points and 14 rebounds from Antonio McDyess to pull within two games of Detroit in the Eastern Conference standings.
Malik Allen added a season-high 14 points for Milwaukee, which won its third straight.
"Our guys were flawless when it came to executing the game plan," Milwaukee coach Scott Skiles said. "We got up on their shooters, which we didn't do last week. We contested shots and made them miss."
"People look at this team and see three faces from the 2004 championship, but this is a different team," Detroit coach Michael Curry said. "We've tried some things to get this team more used to playing well here, but we just aren't playing good basketball anywhere right now."
Curry juggled the starting lineup again, putting McDyess in place of Amir Johnson, but it didn't help in the first half. Milwaukee led by as many as 17 on their way to a 50-37 halftime lead. Jefferson had 19 points in the half.
The Pistons continued to struggle offensively in the third quarter, but were still within 11 points until Allen's buzzer-beating jumper gave the Bucks a 74-61 lead going into the final period.
Milwaukee had a double-digit lead with 8 minutes left, but the Pistons pulled within 80-79 on McDyess' three-point play 2 minutes later.
Sessions, who had 44 points against the Pistons on Feb. 7, helped Detroit by missing two free throws, but Jefferson kept Milwaukee in front with a three-point play and a 3-pointer.
McDyess made it 88-86 with a minute to play, but Jefferson made one free throw at the other end.
Stuckey missed a short jumper, and the Bucks clinched the game from the line.
"We had a three or four-minute stretch where we slipped up a bit, but it wasn't much," Skiles said. "We relied on our defense, got some stops when we needed them and fought for the win."
McDyess became the 10th player to start for the Pistons this season. ... Detroit is 23-25 since Iverson joined the team after being acquired for Chauncey Billups. ... The Pistons were trying for their first ever season sweep of Milwaukee.