England, set 290 to win, were bowled out for 196 with more than five overs remaining.
Fast bowler Powell, who took the first three wickets to fall as England collapsed to 33 for three, finished with four wickets for 40 runs in 10 overs.
His haul included the prize scalp of Kevin Pietersen for nought.
Earlier, Runako Morton top-scored with 82 not out in West Indies' total of 289 for five.
Morton, dropped on four by wicket-keeper Matt Prior off Dimitri Mascarenhas, shared a fourth-wicket stand of 85 with captain Chris Gayle (82), dropped on four and 20 after he won the toss.
Morton, who faced 89 balls with one six and six fours, then put on 92 with Dwayne Bravo (42).
"I'm very happy. I thought it was a tremendous effort," said Gayle, whose side were thrashed 3-0 in the preceding Test series.
"It (West Indies Test form) has been a disgrace, an embarrassment, but this has put us on top to come out and show the public what we are capable of, and hopefully we can use it as motivation to move on from strength to strength."
England captain Paul Collingwood, whose side remained seventh in the International Cricket Council (ICC) one-day rankings to West Indies' eighth, insisted he wasn't too downhearted with the defeat.
"We readily admit we've got a lot of work to do. But as long as we learn from this series, we'll move forward. West Indies have played some fantastic cricket and you have to give them a lot of credit.
In reply to West Indies imposing total, Prior made one before he was caught by opposing keeper Denesh Ramdin after fending at Powell.
The bowler then had Alastair Cook (18) square-cutting to backward point where Dwayne Smith held a fine low catch.
Powell's first ball to Pietersen was a steepling bouncer which flew over Ramdin's head. His next was fuller and Pietersen edged a drive to second slip where Devon Smith held on at the second attempt.
Owais Shah counter-attacked with a 62-ball fifty.
But on 51 he top-edged a sweep off Dwayne Smith's slower ball to Ramdin, ending a stand of 72 with captain Paul Collingwood.
The game was up for England when Collingwood, on 44 inside-edged a sharp Dwayne Bravo ball onto his stumps.
Then 162 for six became 162 for seven when Mascarenhas was brilliantly caught, one-handed, at first slip by Gayle off fast bowler Fidel Edwards (three for 30).
There was an element of farce to the finish when Monty Panesar, immediately after changing his bat, was lbw to Ravi Rampaul.
For the second match in a row England were unable to prevent West Indies scoring more than 100 runs in the last 10 overs, the tourists taking 116 off an inexperienced pace attack this time.
Stuart Broad was the most expensive England bowler, his nine overs costing 71 runs.
Liam Plunkett (three for 59) and fellow quick James Anderson (two for 51) shared the wickets between them.
West Indies' total was made without a major contribution from man of the series Shivnarine Chanderpaul, who scored 116 not out in their 61-run win in Wednesday's second ODI at Edgbaston, having averaged over 148 in the Tests.
But here he was out for 33 when he slogged Plunkett and Pietersen, running back some 20 yards from mid-wicket, took a well-judged catch.
Even so, Chanderpaul ended this series with an average of 202.
Gayle completed an unusually patient 85-ball fifty before popping a return catch to Plunkett.
Bravo though maintained the momentum.
Morton went to fifty by pulling Broad for four before, in the same over, driving him for a superb straight six.
West Indies now travel to Dublin for a quadrangular one-day tournament also featuring Ireland, Scotland and the Netherlands starting on Tuesday.
England next face India in three Tests followed by seven one-dayers. The first Test is due to start at Lord's on July 19.
Fall of wickets: 1-16 (DS Smith), 2-93 (Chanderpaul), 3-108 (Samuels), 4-193 (Gayle), 5-285 (Bravo)
Did not bat: D Ramdin, DR Smith, D Powell, R Rampaul, F Edwards
Fall of wickets: 1-6 (Prior), 2-29 (Cook), 3-33 (Pietersen), 4-72 (Bell), 5-144 (Shah), 6-162 (Collingwood), 7-162 (Mascarenhas), 8-168 (Plunkett), 9-171 (Broad), 10-196 (Panesar)
Toss: West Indies
Result: West Indies won by 93 runs
Series: West Indies win three-match NatWest Series 2-1
Man-of-the-match: Daren Powell (WIS)
Man-of-the-series: Shivnarine Chanderpaul (WIS)
July 01: 1st ODI, Lord's: England won by 79 runs
July 04: 2nd ODI, Edgbaston: West Indies won by 61 runs
Umpires: Brian Jerling (RSA), Mark Benson (ENG)
TV Umpire: Peter Hartley (ENG)
Match referee: Mike Procter (RSA)