My question is: HOW and WHAT do I must to do in order to transform it all on friendly URLs?
Multiple ways to achieve the goal and those are kinda messy IMO.
Why not make them even simpler?
Like...
example.com/signup
example.com/downloads
etc.
One method for doing this is to make your entire site processed through index.php by default and use a case statement in index.php to either dispatch to the proper function or toss a 404 if the URL is borked.
When doing it all in PHP I opt for that kind of solution vs. bouncing back and forth in .htaccess because it's kind of silly to do a little here and a little there when you can do it all in either one place of the other.
As a project manager type, my first suggestion would be to flesh out your project on paper a little more, type out all the types of URLs you think you'll need for that project, then pick the method that's easiest and most flexible to take your project forward.
When sketching out the project, doesn't have to be 100% complete, just enough to get the general design on paper, or screen, so you can visualize where it's going before investing too much time in the technology and ending up with the wrong solution to the problem.
For instance, if I knew I was making a CMS that would have potentially thousands of SEO friendly keyword stuffed URLs, I probably wouldn't do much in .htaccess whatsoever.
However, if I knew the project would only need about 10 rewrite rules to process all URLs for the whole project, I might opt for close to a 100% .htaccess solution. Could be some rewrite rules, or as I've come to use more and more lately, a rewritemap function which really rocks when it comes to situations like this unless your URLs with ever have a space or other special characters in them, then skip rewritemaps IMO.
See what I mean?
Pick the right solution for the right problem and you'll be happier in the end.
As far as performance goes, once you're already in PHP a couple of extra lines to dispatch to the proper code, vs. using .htaccess, is pretty irrelevant.