MacLeod, who has been with the broadcaster since 2012, takes the title of head of press and publicity and will report to chief marketing and communications officer Dan Brooke.
Fletcher is leaving Channel 4 after four years for the newly created role of director of content PR at rival TV company BSkyB, as reported by PRWeek in June.
Brooke said: "It's always a special joy to appoint from within. James is a star, Channel 4 through and through and we couldn't be luckier to have him."
MacLeod has previously worked in corporate and consumer publicity roles at ITV and the BBC.