Вихованець новополоцького футболу, у юнацькому віці опинився у мінському«Локомотиві», згодом потрапив до «Нафтану». Не закріпившись у основному складі новополоцького клубу, віддавався до оренди. Граючи в оренді за мозирську«Славію», 2009 року врятував цей клуб від вильоту з Першої ліги, забив вирішальний м'яч у додатковому матчі проти «Спартака».
2011 року повторно опинився у мозирському клубі, якому допоміг потрапити до Вищої ліги. У 2012 році став одним із найкращих бомбардирів чемпіонату (11 голів).
У грудні 2012 року перейшов до «Мінська»[2], але не закріпився в основному складі та у липні 2013 року повернувся до «Славії»[3]. У «Славії» швидко повернув собі місце в основному складі.
За підсумками сезону 2013 року «Славія» втратила місце у Вищій лізі. Роман, залишивши мозирський клуб, намагався закріпитися у складі дебютанта Вищої ліги «Слуцька», але в березні 2014 року слуцький клуб попрощався з нападником, і невдовзі Волков перейшов до «Іслочі»[4][5].
У складі «Іслочі» стабільно грав у основі, відзначився 6-ма голами. У липні 2014 року залишив клуб у зв'язку із закінченням контракту[6] та в серпні 2014 року приєднався до мікашевицького«Граніту»[7]. У складі мікашевичського клубу став чемпіоном Першої ліги 2014 року. У січні 2015 року залишив «Граніт»[8].
У березні 2015 року після перегляду став гравцем новополоцького«Нафтана»[9]. Починав сезон, переважно виходячи на заміну, а після відходу влітку з команди Вадима Демидовича став основним нападником. У підсумку з 8-ма голами став найкращим бомбардиром клубу у чемпіонаті.
У лютому 2016 року проходив перегляд у тульському «Арсеналі», але не підійшов до російського клубу[10]. В результаті, підписав контракт із «Вітебськом»[11]. У складі вітебського клубу швидко став основним нападником і допоміг йому зайняти шосте місце у Вищій лізі. Сезон 2017 року також розпочинав у стартовому складі, але пізніше став частіше виходити на заміну. У грудні 2017 року після закінчення терміну дії контракту залишив «Вітебськ».
У січні 2018 року приєднався до «Гомеля» та незабаром підписав контракт[12]. У першій половині сезону 2018 року частіше виходив на заміну, а з липня закріпився у стартовому складі.
У січні 2019 року перейшов до «Городеї»[13]. Розпочинав сезон 2019 року в стартовому складі городейців, але пізніше став зазвичай виходити на заміну та залучатися до дубля. У грудні 2019 року після закінчення терміну дії контракту покинув клуб[14].
На початку 2020 року побував на перегляді в «Белшині», але до команди не перейшов. У лютому 2020 року приєднався до «Сфинтул Георге» й у березні підписав з ним контракт. Став одним із основних гравців команди. У липні 2021 року залишив клуб[15].
Після жорстокого розгону акцій протестів, спричиненого масовими фальсифікаціями на президентських виборах 2020 року, побиттям і катуваннями затриманих демонстрантів, він та ще 92 білоруські футболісти засудили насильство в Білорусі[17].