I'm not sure what is considered best practice. I guess it depends if the review work is included in the labour cost of the project.
We have a project per team that is 'operational'. The leader of the team could put in a single 'architectural review' task that spans the year. With this approach the team leader would know how many hours per week / month / year are spent doing reviews, but not what particular project. You also couldn't say task 43 in my project can't start until the review is complete.
You could put an architectural review task in each projects task and assign it. It would show on the team leaders calendar / team views, it would have dependencies (task 43 can't start until this is done) but the time logged against it would count in the project hours (and if billable and/or with a rate, count as cost). Personally, I'd go with this one.
The hybrid is to create an achitectural review project, and have a task for each project you're reviewing. Costs (if any) are in this project (so you could even over-ride billing rates just for this), interdependencies can be created etc. You'd just need to make sure it's excluded from reports/views that are only interested in 'real' projects.