The further optimization takes time and need some experience and it’s an experimental project.
To host scripts locally simply download them and copy the files to your server.
Then dig into your files/plugins, search for the instance/instances where the plugin calls the script and change the file path to the path of your own hosted file.
Manually combining js files and minifying them is better than using cloudflare or wp-rocket’s minify option. The problem is that it’s not easy because you have to do it slowly and you need to test your site if everything is working as it should.
For fonts, check out this:
Download the woff2 files you need and copy them to your server. Then in your CSS you can point to these woff2 files. Search in Google for “host fonts locally”.
Read this for hosting fonts: https://css-tricks.com/snippets/css/using-font-face/
It’s not a good idea to mix fonts on your site. If a plugin uses roboto, then you can change this font to Open Sans in you plug-in. You need a little coding to do this.
I’m a fan of W3TC cache, so I don’t know WP-Rocket, but there should be an option for setting the browser cache, there you can set the cache header to: “Public, max-age=3600”
Or you can set it in your .htaccess file.