Moran attended Iona Preparatory School in New Rochelle, New York, where he played on the school's baseball team. Moran pitched and played first base. During his junior year, Moran was named all-county honorable mention. In his junior season, he was named the team's most valuable player and was the county player of the year. During the summers at Iona Prep, Moran played baseball with the ProSwing Pride. In 2007, Moran began attending the University of North Carolina and played on the school's baseball team as a pitcher. In his first year at North Carolina, Moran compiled a 3.37 earned run average, and seven strikeouts in 13 games, all in relief. During his second season, Moran compiled a 1–2 record with a 2.76 ERA, two saves, and 72 strikeouts in 40 games, all in relief. In 2009, Moran went 7–1 with a 2.31 ERA, four saves, and 90 strikeouts in 36 games. He was a third-team All-American selection after the season. Moran summed up his time at North Carolina by saying, "It was a dream come true – I can still not believe it that I will not be going back. It was an unbelievable three years. It was everything I could have hoped it could be. I made a lot of good friends and the coaches were awesome. It was an unbelievable experience."
Professional career
Seattle Mariners
Moran was selected by the Seattle Mariners in the seventh round of the 2009 Major League Baseball draft. He said this about being drafted by Seattle: "I was actually at practice and a lot of the guys shouted down to the bullpen to let me know. Then all the sudden my phone started to get a lot of calls from people saying congratulations. It was pretty cool." He was the first left-handed pitcher taken in the 2009 draft by the Mariners. Dustin Ackley and Kyle Seager, Moran's teammates at North Carolina, were also drafted by the Mariners in 2009. After being drafted by the Seattle Mariners in 2009, Moran officially signed on June 26, 2009, receiving a US$140,000 signing bonus. He was signed by scout Rob Mammau. Moran made his professional debut in their minor league organization that season with the rookie-levelPulaski Mariners. He went 1–0 with a 3.72 ERA, two saves, and 14 strikeouts in six games, all in relief with Pulaski. Moran was then promoted to the Class-AClinton LumberKings of the Midwest League. With the LumberKings, he went 0–3 with a 2.89 ERA, and 17 strikeouts in 12 games. Between the two clubs in 2009, Moran compiled a 1–3 record with a 3.18 ERA, two saves, and 31 strikeouts in 28 innings pitched. Moran started the 2010 season with the Class-A Clinton LumberKings. Moran was used as a setup pitcher during his time at the Class-A level. He was a league all-star that season. Before the all-star break, Moran led Midwest League pitchers in bases on balls per nine innings pitched. He praised the development of his split-finger fastball as reason for his success in 2010. It was noted that he was "great friends" with his former University of North Carolina teammate and then-LumberKings teammate Kyle Seager. With the LumberKings that season, Moran went 4–1 with a 1.34 ERA, three saves, and 48 strikeouts in 22 games, all in relief. He was then promoted the Class-A Advanced level to play with the High Desert Mavericks of the California League. With High Desert, Moran went 2–0 with a 1.42 ERA, one save, and 29 strikeouts in 17 games, all in relief. Finally that season, Moran played with the Double-AWest Tenn Diamond Jaxx of the Southern League, compiling a 13.50 ERA in two games. Between the three clubs, Moran went 6–1 with a 1.73 ERA, four saves, and 78 strikeouts in 67 innings pitched. Kyle Seager, Moran's teammate with the Clinton LumberKings, described his pitching delivery as a "shot put" release. Moran has stated that he developed his split-finger fast ball out of college, and that it has been effective in professional baseball. He was selected by the Toronto Blue Jays on December 12, 2013 in the 2013 Rule 5 draft and then traded to the Los Angeles Angels of Anaheim. On April 8, it was announced that Moran would undergo Tommy John surgery and would miss the entire 2014 season, meaning that Rule 5 restrictions will apply to him in 2015. The Angels returned him to the Mariners on October 30, 2014. He was selected in the Rule 5 draft in 2015 by the Cleveland Indians but again returned to the Mariners.
He ended the season with the Tulsa Drillers in the Los Angeles Dodgers organization On November 1, 2017, Moran was drafted by the Sugar Land Skeeters in the Bridgeport Bluefish dispersal draft. On July 14, 2018, Moran was released by the Dodgers.
On July 15, 2018, Moran signed a minor league with the Colorado Rockies. He became a free agent after the season ended.
Miami Marlins
On November 12, 2018, Moran signed a minor league deal with the Miami Marlins with an invite to spring training. He was assigned to Triple-A New Orleans to start the 2019 season. On September 3, the Marlins selected Moran's contract and promoted him to the major leagues. Moran made his major league debut on September 5 versus the Pittsburgh Pirates, pitching one scoreless inning in relief while striking out one batter and earning the win. The strikeout was of his brother Colin. The Moran brother match up was the first time since 1900, that a brother faced off against his sibling in his major league debut. Moran was designated for assignment on January 15, 2020, and released on January 17.
Toronto Blue Jays
On February 7, 2020, Moran signed a minor league deal with the Toronto Blue Jays. He made his Blue Jays debut on July 25, recording two outs.