Hans 110 innebär att han har gjort 323 matcher i en vecka efter en unbeaten 93 mot Glamorgan i One-Day Cup och 120 inte ute mot Kent i T20 Blast.
Tim Murtagh (2-85) minskade Surrey till 23-2 inne i de första sex overs, innan Rory Burns (88) hjälpte återvinningen.
Burns och Roy satte på en 118-run fjärde wicket monter som Surrey stängde på 384-8.
Roy's century var en fin retort mot Division One ledare Middlesex, som avfärdade England limited-over-öppnare för en första-ball anka i One-Day Cup på tisdag.
Efter att paceman Murtagh avlägsnat både Zafar Ansari och Dominic Sibley tidigt fortsatte Surreys fall medan James Franklin fångade Aaron Finch (37) för att lämna dem 70-3.
Burns hjälpte vända sina förmögenheter runt när han slog 15 fyrar i sin 127-ball knacka när besökarna grep initiativet.
Roy slog 16 fyror själv som Surrey kantade nära 400 mark i slutet av första dagens spel, med Ben Foakes unbeaten på 53.
Jason Roy fortsatte sin fina form med ett 100-tal på sex dagar när Surrey gjorde en stark start med fladdermusen mot Middlesex på Lord's.