In a large mixing bowl combine butter and sugars, and beat with a mixer until smooth and creamy. Add the eggs, and mix until well combined. Scrape down the bottom and sides, and add peanut butter and vanilla. Mix on low until combined.
In a medium mixing bowl, whisk together the flour, oats, baking soda, and salt. Gradually add to the wet ingredients while beating on low until just combined. Mix in the M&Ms.
Because the batter will be thick and a little sticky at this point, it is recommended that you refrigerate the dough for at least 2 hours (but 3 hours is better). You can also place the batter into the freezer for an hour.
When ready to bake the cookies, preheat oven to 350°F. Prepare 2 cookie sheets by lining them with parchment.
After chilling, the dough will resemble playdough and should not be sticky. Using 2 tablespoonfuls of dough, roll into 2-inch balls. Place the dough balls onto the prepared baking sheets at least 2 inches apart. Do not press down on the dough. In between batches, place the dough into the refrigerator to keep it cold.
Bake for 10-12 minutes. The cookies will have a very soft center, but once cooled, they will set and the inside with be soft and chewy. Allow the cookies to cool on the baking sheets for 5-10 minutes before transferring to a wire rack.