Online Services best approach


I am currently working on a multiplayer sports title which allows people to manage teams and play together. Now I have a question. I have logins, registration, team management and a lobby with chat etc. What would be the ideal way to approach this. Now when I started thinking about this I was all about writing my own handlers etc on top of the current networking of Unreal. But then I came across the OnlineSubSystems for Steam etc. Is this the ideal place for this stuff? My flow would be

Login -> Team Management (Can change certain abilities on players etc, trade players etc) -> Lobby -> P2P Match using the replication framework.

What I was thinking was writing my service as more a web service with an active session once the person log in (much like how FB does it).

I am new with Unreal and have worked with other engine in the past which have done similar approach. I was using unity before where I used a message queues and handlers to do it all.

Any pointers would be greatly appreciated.