A Maddux requires that a pitcher go the distance, throw fewer than 100 pitches, and not allow any runs. Because pitch count records from earlier are scarce, 1988 is the start of the Maddux-era for MLB. Since then there have been 269 Madduxes. There have also been 1,844 shutouts in which the pitcher threw 100+ pitches and there have been 265 complete games in which a starter threw fewer than 100 pitches, but allowed at least one run. (Cliff Lee once pitched a complete game on 95 pitches while allowing six runs.) In 18 of those 265 games though, the runs allowed were unearned. Those games do not qualify as Madduxes, but they deserve mention.
UPDATE: On August 5, 2017, Cole Hamels became the first pitcher in eight years to do this.)
To be clear, none of the games I'm about to list qualify as a Maddux, but you can find lots of information on performances that do qualify here and here. And thanks to Baseball-Reference, whose Play Index makes tracking these things down manageable.
June 7, 1988: Scott Bailes (Indians) - 88 pitches, 3 runs due to error by Julio Franco
July 18, 1989: Orel Hershiser (Dodgers) - 98 pitches, 1 run due to error by Jeff Hamilton
July 21, 1989: John Smiley (Pirates) - 98 pitches, 1 run due to errors by Rey Quinones and Barry Bonds
June 1, 1991: Greg Swindell (Indians) - 90 pitches, 1 run due to error by Carlos Baerga
May 7, 1993: Bill Wegman (Brewers) - 94 pitches, 1 run due to error by Matt Mieske
August 28, 1993: Steve Avery (Braves) - 91 pitches, 1 run due to error by Jeff Blauser
September 9, 1993: Darryl Kile (Astros) - 83 pitches, 1 run due to error by Jeff Bagwell
April 14, 1994: Greg Maddux (Braves) - 96 pitches, 1 run due to error by Deion Sanders
June 26, 1994: Mike Mussina (Orioles) - 97 pitches, 1 run due to error by Jeffrey Hammonds
August 6, 1994: Frank Castillo (Cubs) - 98 pitches, 1 run due to error by Sammy Sosa
May 15, 1998: Jeff Suppan (Diamondbacks) - 93 pitches, 1 run due to errors by Jay Bell
June 5, 1998: Andy Pettitte (Yankees) - 91 pitches, 1 run due to error Chuck Knoblauch
August 6, 2000: Shawn Estes (Giants) - 95 pitches, 1 run due to error by Bill Mueller
June 29, 2003: Tomo Ohka (Expos) - 98 pitches, 2 runs due to errors by Edwards Guzman, Orlando Cabrera, Tomo Ohka, and Jamey Carroll
September 11, 2003: Roy Halladay (Blue Jays) - 93 pitches, 1 run due to error by Eric Hinske
September 26, 2003: Tomo Ohka (Expos) - 91 pitches, 1 run due to error by Henry Mateo
June 30, 2005: Freddy Garcia (White Sox) - 96 pitches, 1 run due to error by Pablo Ozuna
June 6, 2009: John Lannan (Nationals) - 96 pitches, 1 run due to error by Elijah Dukes
August 5, 2017: Cole Hamels (Rangers) - 96 pitches, 1 run due to error by Robinson Chirinos
Tomo Ohka deserves recognition as the only pitcher to make the list twice, but he's also the only pitcher who made an error of their own in any of these games, and frankly, runs should probably be considered "earned" if the pitcher's own error led to it.
Bill Wegman has the distinction of being the only pitcher on this list who actually lost his game.
I'd also like to point out that 4 of these would-be Madduxes were undone due to an error by someone named Jeff.
It should come as no surprise to see Greg Maddux on this list, since no one worked their way through an entire game on so few pitches as often as he did. Of the 17 pitchers who appear on this list, 11 of them threw at least one actual Maddux at some point in their career: Maddux (13), Halladay (5), Mussina and Smiley (2), Avery, Garcia, Hamels, Hershiser, Kile, Ohka, Suppan, and Swindell (1). Bailes, Castillo, Estes, Lannan, Pettitte, and Wegman are the unfortunate souls who lost their best chance at a Maddux due to a teammate's error.